ActimeMQ使用手册
目 录
第一章前言 ....................................................................................................................................................... 0 1.1编写目的 ........................................................................................................................................................ 0 1.2术语 ................................................................................................................................................................ 0 1.3参考文档 ........................................................................................................................................................ 0 第二章 ActiveMQ介绍 ..................................................................................................................................... 1 2.1 ActiveMQ的原理 ........................................................................................................................................... 1 2.1.1 JMS的基本构件 .................................................................................................................................... 1 2.1.1.1连接工厂 ....................................................................................................................................... 1 2.1.1.2会话 ............................................................................................................................................... 1 2.1.1.3目的地 ........................................................................................................................................... 1 2.1.1.4生产者 ........................................................................................................................................... 2 2.1.1.5消息消费者.................................................................................................................................... 2 2.1.1.6消息 ............................................................................................................................................... 2 2.1.2 JMS的可靠性机制................................................................................................................................. 3 2.1.2.1消息确认 ....................................................................................................................................... 3 2.1.2.2持久性 ........................................................................................................................................... 4 2.1.2.3优先级 ........................................................................................................................................... 4 2.1.2.4消息过期 ....................................................................................................................................... 4 2.1.2.5临时目的地.................................................................................................................................... 4 2.1.2.6持久订阅 ....................................................................................................................................... 4 2.1.2.7本地事务 ....................................................................................................................................... 5 2.2 ActiveMQ基本配置 ....................................................................................................................................... 5 2.2.1配置ActiveMQ服务IP和端口 ............................................................................................................. 5 2.2.2监控ActiveMQ ....................................................................................................................................... 6 2.3 ActiveMQ的Broker........................................................................................................................................ 7 2.3.1 Running Broker: ...................................................................................................................................... 7 2.3.2 Embedded Broker: .................................................................................................................................. 8 2.4 ActiveMQ Broker的Transport ....................................................................................................................... 9 2.4.1 TCP Transport ....................................................................................................................................... 10 2.4.2 Failover Transport ................................................................................................................................. 10 2.4.3 Discover Transport ................................................................................................................................ 12 2.5 ActiveMQ Broker的持久方式 ...................................................................................................................... 14 2.5.1 AMQ Message Store .......................................................................................................................... 14 2.5.2 Kaha Message Store ............................................................................................................................. 16 2.5.3 JDBC Message Store ............................................................................................................................. 16 2.6 ActimveMQ的其他特性 .............................................................................................................................. 17 2.6.1异步发送消息 ...................................................................................................................................... 17 2.6.2消费者异步分派 .................................................................................................................................. 18
第i页
2.6.3消费者优先级 ...................................................................................................................................... 18 2.6.4独占消费者 .......................................................................................................................................... 18 2.6.5消息重发策略 ...................................................................................................................................... 18 2.6.6目标相关的属性 .................................................................................................................................. 19 2.6.7消息预取处理 ...................................................................................................................................... 21 2.6.8配置连接URL ...................................................................................................................................... 22 2.6.9消息重发与死信管理 .......................................................................................................................... 24 第三章 ActiveMQ集群方式 ........................................................................................................................... 28 3.1 AMQ集群特点 ............................................................................................................................................. 28 3.2 AMQ集群方式-- Queue consumer clusters ................................................................................................. 28 3.3 AMQ集群方式-- Broker clusters .................................................................................................................. 29 3.3.1管道订阅conduitSubscriptions ........................................................................................................... 31 3.3.2双向网络连接(duplex networkConnector) .......................................................................................... 31 3.3.3指定和限制Destination ...................................................................................................................... 32 3.3.4被卡住的消息 ...................................................................................................................................... 33 3.3.5其他说明 .............................................................................................................................................. 34 3.4 AMQ集群方式-- Master Slave ..................................................................................................................... 34 3.4.1 Pure Master Slave ................................................................................................................................. 35 3.4.2 Shared File System Master Slave .......................................................................................................... 35 3.4.3 JDBC Master Slave ................................................................................................................................ 35 第四章 ActiveMQ+Mongodb集群实践 .......................................................................................................... 37 4.1 AMQ+Mongodb的群集 ............................................................................................................................... 37 第五章 ActiveMQ的JMX监控 ....................................................................................................................... 38 5.1 JMX的配置 .................................................................................................................................................. 43 5.2 JMX的JAVA端获取信息 ............................................................................................................................. 43 第六章 ActiveMQ的使用注意........................................................................................................................ 45 6.1发现数据中存在queue://ActiveMQ.DLQ ................................................................................................... 45 6.2对应的客户端URL配置 .............................................................................................................................. 45
第ii页
第一章 前言
1.1 编写目的
某平台的消息队列采用ActiveMQ来实现,搭建分布式消息平台,提供可靠的传递消息及数据的消息服务,实现平台间的消息传递。本文档第二部分介绍了ActiveMQ的原理和重要配置介绍,第三部门介绍群集搭建方式,分析各种集群方式的优缺点,第四部分实战搭建Master-Slave+Broker-Custer的群集,第五部分是对ActiveMQ的监控,可以通过JMX接口直接获取当前的消息情况,第六部分是对ActiveMQ使用要注意的情况。
对于清楚JMS和ActiveMQ熟悉的,需要对ActiveMQ做集群处理,可以跳过第二、三章直接看第四章实践。
1.2 术语 1.3 参考文档
第0页
第二章 ActiveMQ介绍
2.1 ActiveMQ的原理
ActiveMQ是基于JMS的息中间件。下面先介绍一下JMS的基本构件.
2.1.1 JMS的基本构件
2.1.1.1 连接工厂
连接工厂是客户用来创建连接的对象,ActiveMQ提供的连接工厂类为:ActiveMQConnectionFactory。
2.1.1.2 会话
JMS Session是生产和消费消息的一个单线程上下文。会话用于创建消息生产者(producer)、消息消费者(consumer)和消息(message)等。会话提供了一个事务性的上下文,在这个上下文中,一组发送和接收被组合到了一个原子操作中。
客户端用Session 创建MessageProducer 和MessageConsumer对象。如果在Session 关闭时,有一些消息已经被收到,但还没有被签收
(acknowledged),那么,当消费者下次连接到相同的队列时,这些消息还会被再次接收。
2.1.1.3 目的地
目的地是客户用来指定它生产的消息的目标和它消费的消息的来源的对象。JMS1.0.2 规范中定义了两种消息传递域:点对点(PTP)消息传递域和发布/订阅消息传递域。在点对点消息传递域中,目的地被成为队列(queue);在发布/订阅消息传递域中,目的地被成为主题(topic)。 点对点消息传递域的特点如下:
每个消息只能有一个消费者。
? 消息的生产者和消费者之间没有时间上的相关性。无论消费者在生产者发送消息的时候是否处于运行状态,它都可以提取消息。
?
发布/订阅消息传递域的特点如下:
第1页
每个消息可以有多个消费者。
? 生产者和消费者之间有时间上的相关性。订阅一个主题的消费者只能消费自它订阅之后发布的消息。JMS规范允许客户创建持久订阅,这在一定程度上放松了时间上的相关性要求。持久订阅允许消费者消费它在未处于激活状态时发送的消息。
?
2.1.1.4 生产者
消息生产者是由会话创建的一个对象,用于把消息发送到一个目的地。
2.1.1.5 消息消费者
消息消费者是由会话创建的一个对象,它用于接收发送到目的地的消息。消息的消费可以采用以下两种方法之一:
同步消费。通过调用消费者的receive方法从目的地中显式提取消息。receive方法可以一直阻塞到消息到达。 ? 异步消费。客户可以为消费者注册一个消息监听器,以定义在消息到达时所采取的动作。
?
2.1.1.6 消息
JMS消息由以下三部分组成:
消息头。每个消息头字段都有相应的getter和setter方法。
? 消息属性。如果需要除消息头字段以外的值,那么可以使用消息属性。
?
除了消息头中定义好的标准属性外,JMS 提供一种机制增加新属性到消息头中,这种新属性包含以下几种: 1. 应用需要用到的属性;
2. 消息头中原有的一些可选属性; 3. JMS Provider 需要用到的属性。 标准的JMS 消息头包含以下属性: 消息头 JMSDestination 消息发送的目的地 传送模式,有两种模式: PERSISTENT 和NON_PERSISTENT, PERSISTENT 表示该消息一定要被送到目的地,否则会导致应用错误。 NON_PERSISTENT 表示偶然丢失该消息是被允许的, 这两种模式使开发者可以在消息传送的可靠性和吞吐量之间找到平衡点。 描述 JMSDeliveryMode 第2页
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库ActiveMQ使用手册在线全文阅读。
相关推荐: