ActiveMQ的主备有三种方式:纯Master/Slave、文件共享方式、数据库共享方式。
1、纯Master/Slave
这种方式的主备不需要对Master Broker做特殊的配置,只要在Slave
Broker中指定他的Master就可以了,指定Master有两种方式,最简单的配置就是在broker节点中添加
masterConnectorURI=”tcp://localhost:61616″即可,还有一种方式就是添加一个services节点,可以指定
连接的用户名和密码,配置如下:
<services>
<masterConnector remoteURI= "tcp://localhost:61616" userName="system" password="manager"/>
</services>
纯Master/Slave只允许一个Slave连接到Master上面,也就是说只能有2台MQ做集群,同时当Master挂了之后需要停止Slave来恢复负载。
2、数据库共享方式
这种方式的主备采用数据库做消息的持久化,支持多个Slave,所有broker持久化数据源配置成同一个数据源,当一个broker获取的数据库锁之
后,其他的broker都成为slave并且等待获取锁,当master挂了之后,其中的一个slave将会立刻获得数据库锁成为master,重启之前
挂掉的master之后,这个master也就成了slave,不需要停止slave来恢复。由于采用的是数据库做为持久化,它的性能是有限的。
3、文件共享方式
这种方式的主备具有和数据库共享方式的负载一样的特性,不同的是broker的持久化采用的是文件(我这里用KahaDB),slave等待获取的锁是文件锁,它具有更高的性能,但是需要文件共享系统的支持。
Window下共享KahaDB持久化的目录,配置如下:
<persistenceAdapter>
<kahaDB directory="//172.16.1.202/mqdata/kahadb"/>
</persistenceAdapter>
Linux下需要开启NFS服务,具体操作如下:
创建共享目录(192.168.0.1):
1、 修改etc/exports,添加需要共享的目录:/opt/mq/data *(rw,no_root_squash)
2、 启动NFS服务 service nfs start/restart
3、 查看共享 showmount –e
4、 NFS服务自启动 chkconfig –level 35 nfs on
挂载共享目录(192.168.0.2):
1、 挂载:mount –t nfs 192.168.0.1:/opt/mq/data /opt/mq/data
2、 启动自动挂载:在etc/fstab文件添加10.175.40.244:/opt/mq/data /opt/mq/data nfs defaults 0 0
然后指定KahaDB的持久化目录为/opt/mq/data即可。
AIX系统的文件共享和Linux类似,也是启动NFS服务。
注意:如果Master服务器宕机了,Slave是不会获得文件锁而启动,直到Master服务器重启。
Window下Master上有Slave连接时如图:
客户端连接的brokerURL为failover:(tcp://localhost:61616,tcp://localhost:61617)。用
第三部分的代码测试,先向Master Broker发送一个消息,然后关闭master,运行获取消息的方法,即可获取之前发送的消息。
分享到:
相关推荐
activemq activeMq笔记.docx
activeMQ学习笔记,JMS有两种传递消息的方式。标记为NON_PERSISTENT的消息最多投递一次,而标记为PERSISTENT的消息将使用暂存后再转送的机理投递。如果一个JMS服务离线,那么持久性消息不会丢失但是得等到这个服务...
ActiveMQ 教学视频/教程 /附带笔记等资源,jms 案例文档等...
activemq学习笔记 activemq学习笔记 activemq学习笔记 activemq学习笔记 activemq学习笔记 activemq学习笔记
ActiveMq笔记
ActiveMQ的安装和配置,负载均衡,集群,性能优化
Apache+ActiveMQ教程.pdf JMS规范教程.pdf JMS简明教程.pdf 三份教程
ActiveMQ In Action翻译笔记-更新版2011
ActiveMQ消息中间键,包含源码分析,及各种功能使用的场景,原理,满满的干货。
NULL 博文链接:https://sswh.iteye.com/blog/1974169
activemq消息队列整合SpringBoot
NULL 博文链接:https://javabbs.iteye.com/blog/299271
消息中间件的学习笔记
NULL 博文链接:https://sswh.iteye.com/blog/1974131
将ActiveMQ放到Linux中,使用命令“tar -zxvf apache-activemq-5.15.9-bin.tar.gz”解压缩。 在bin目录下 使用命令“./activemq start”启动ActiveMQ 使用命令“./activemq stop”关闭ActiveMQ 使用命令“./activemq...
NULL 博文链接:https://sswh.iteye.com/blog/1974156
当前使用较多的消息中间件有RabbitMQ、RocketMQ、ActiveMQ、Kafka、ZeroMQ、MetaMQ等, 本次以Apache的ActiveMQ作为切入点,分为基础/实战/面试上中下三大部分,将带着同学们 从零基础入门到熟练掌握ActiveMQ,能够...
这是我学习activeMQ时总结的文档,其中有实例,还有一些我遇到的问题。
mq的方式有两种:点到点和发布/订阅,全部有代码,可以直接运行
ActiveMQ+In+Action翻译笔记-+更新版2011.pdf