activemq介绍
ActiveMQ是开源的,支持多种协议(CORE,AMQP,MQTT,JMS...),
基于java的消息系统(或消息中间件)。
它支持业界标准协议,这样有利于客户端的选择(从c,c++,python,.net等)
当期有2个版本的ActiveMQ
- ActiveMQ "Classic"
- ActiveMQ Artemis
因为Artemis是下一代的ActiveMQ,所以后面介绍基于Artemis。
ActiveMQ Artemis
下一代高性能,非阻塞架构,基于事件驱动的消息系统
特性:
- 提供实现JMS 1.1 & 2.0 的客户端,包含JNDI
- 通过共享存储和网络复制提供高可用
- 简单&强大的协议无感知的寻址模型(addressing model)
- 灵活的集群用于分布式负载
- 基于日志的低延迟持久化
- 方便从ActiveMQ 5迁移
使用
下载Artemis,并解压
创建Broker Instance
执行 ${ARTEMIS_HOME}/bin/artemis create mybroker
${ARTEMIS_HOME}下载解压的目录
mybroker名字自定义
可以看到生成了一个目录mybroker,里面有各种文件。所有Broker Instance实际是一个包含所有配置文件和运行时数据的目录。
- bin: 可执行脚本
- etc: 配置
- data: 消息持久化保存
- log: 日志
- tmp: 临时文件,可以安全删除
特别注意的是2个文件
//启动配置
etc/bootstrap.xml
//核心配置
etc/broker.xml
bootstrap.xml 内部包含了broker.xml,几乎所有的配置都在broker.xml进行,Artemis提供了大部分默认配置
//启动服务(使用了默认的etc/bootstrap.xml配置)
mybroker/bin/artemis run
//指定配置启动服务(使用自定义bootstrap.xml配置)
mybroker/bin/artemis run -- xml:path/to/bootstrap.xml
//关闭服务
mybroker/bin/artemis stop