activemq应用总结(二)

1.应用activemq时候会出现activemq当机问题,出现该问题我们如何处理呢?
当acitvemq出现问题时候我们首先想到负载均衡,当一台mq当机我们采用备用activemq。
 
2.那该如何实现负载均衡呢?
有三种方式:Master-slave,数据库共享模式,文件共享模式。
 
3.实际项目中采用的方式
Master-slave的思想是,消息被复制到slave broker,因此当master broker遇到硬件类故障的时候,可以立即切换到slave broker而不丢失消息。
Master-slave是目前ActiveMq推荐使用的高可靠的容错方案。
在我们的系统中采用文件系统做持久化(Shared File System Master Slave),可以运行多个broker,这些broker共享数据目录。当第一个broker获得锁后
其他的broker循环等待获取锁。
客户端可以使用failover transport来连接可用的broker.当Master broker失效的时候会释放获得的锁。此时有个Slave broker获得锁变为Master broker.
即服务端采用:Shared File System Master Slave
客户端采用:failover transport.
 
slave的activemq.xml配置如下,master中不需要作改动。
最简单的配置就是在broker节点中添加masterConnectorURI=”tcp://localhost:61616″即可,还有一种方式就是添加一个services节点
<services>
  <masterConnector remoteURI= "tcp://localhost:61616" userName="system" password="manager"/>
</services>

broker中增加persistent="true"

<persistenceAdapter>
  <kahaDB directory="//172.16.1.202/mqdata/kahadb"/>
</persistenceAdapter>

Window下共享KahaDB持久化的目录。

 http://activemq.apache.org/xml-reference.html  //具体activemq.xml配置见具体的版本。
 

 

posted on 2013-03-26 13:51  ThinkFar  阅读(367)  评论(0编辑  收藏  举报