一,ActiveMQ高可用性的架构
ActiveMQ的高可用性架构是基于Master/Slave 模型的。ActiveMQ总共提供了四种配置方案来配置HA,其中Shared Nothing Master/Slave 在5.8版本之后不再使用了,并在ActiveMQ5.9版本中引入了基于Zookeeper的Replicated LevelDB Store HA方案。
官网提示:
(其实官方推荐还是使用当前activeMQ内嵌的KahaDB数据库。)
二,Master/Slave架构的配置解释
①Shared Nothing Master/Slave
该架构最大的特点是:
1)Master 和 Slave各自都单独存储持久化的消息,它们不共享数据。
2)Master收到持久化消息时,需要先同步(sync)给Slave之后,才向Producer发送ACK确认。
3)只有Master负责Client的请求,Slave不接收Client请求。Slave连接到Master,负责备份消息。
4)Master出现故障,Slave有两种处理方式:❶自己成为Master;❷关闭(停服务)---根据具体配置而定。
5)Master 与 Slave之间可能会出现“Split Brain”现象。比如:Master本身是正常的,但是Master与Slave之间的网络出现故障,网络故障导致Slave认为Master已经宕机,因为它自己会成为Master(根据配置:shu