ActiveMQ简介
ActiveMQ是完全基于JMS规范实现的一个消息中间件产品。是Apache开源基金会研发的消息中间件。ActiveMQ主要应用在分布式系统架构中,帮助构建高可用、高性能、可伸缩的企业级面向消息服务的系统 。
ActiveMQ安装
1. 下载 Apache ActiveMQ ™ -- ActiveMQ 5.15.0 Release
2. 复制到服务器上,通过 tar -zxvf apacheactiveMQ.tar.gz 解压
3. 启动运行
a) 普通启动:到bin目录下, sh activemq start
b) 启动并指定日志文件 sh activemq start > /tmp/activemqlog
4. 检查是否已启动
ActiveMQ默认采用61616端口提供JMS服务,使用8161端口提供管理控制台服务,执行以下命令可以检查是否成功启动ActiveMQ服务:netstat -an|grep 61616
5. 通过 http://192.168.11.156:8161 访问 activeMQ 管理页 面 ,默认帐号密码 admin/admin
6. 关闭ActiveMQ:sh activemq stop
从 JMS 规范来了解 ActiveMQ
JMS 定义
Java消息服务(Java Message Service)是java平台中关 于面向消息中间件的API,用于在两个应用程序之间,或者分布式系统中发送消息,进行异步通信。
JMS 是一个与具体平台无关的 API,绝大多数 MOM(Message Oriented Middleware)(面向消息中间件)提供商都对JMS提供了支持。
MOM 定义
MOM 是面向消息的中间件,使用消息传送提供者来协调消息传送操作。MOM 需要提供API和管理工具。客户端使用api调用,把消息发送到由提供者管理的目的地。在发送消息之后,客户端会继续执行其他工作,并且在接收方收到这个消息确认之前,提供者一直保留该消息。
MOM的特点
1. 消息异步接收,发送者不需要等待消息接受者响应
2. 消息可靠接收,确保消息在中间件可靠保存。只有接收方收到后才删除消息
JMS 规范
1. 不同的消息传送模式或域,例如点对点消息传送和发布/订阅消息传送
2. 提供于接收同步和异步消息的工具
3. 对可靠消息传送的支持
4. 常见消息格式,例如流、文本和字节
JMS 的基本功能
点对点消息传递域
1. 每个消息只能有一个消费者
2. 消息的生产者和消费者之间没有时间上的相关性。无论消费者在生产者发送消息的时候是否处于运行状态,都可以提取消息
发布订阅消息传递域
1. 每个消息可以有多个消费者
2. 生产者和消费者之间有时间上的相关性。订阅一个主题的消费者只能消费自它订阅之后发布的消息。JMS规范允许客户创建持久订阅,这在一定程度上降低了时间上的相关性要求。持久订阅允许消费者消费它在未处于激活状态时发送的消息
消息结构组成
消息头
JMSDestination 消息发送的目的地,queue或者topic
JMSDeliveryMode 传送模式,持久模式和非持久模式
JMSPriority 消息优先级(优先级分为10个级别,从0(最低)到9(最高)。如果不设定优先级,默认级别是4。 需要注意的是,JMS provider并不一定保证按照优先级的顺序提交消息)
JMSMessageID 唯一识别每个消息的标识
属性
网友评论