ActiveMQ - MasterSlave

MasterSlave方式中,master提供服务,slave备份master的数据。当master挂掉后,slave会变成master继续工作。

Shared File System Master Slave

基于共享文件系统,第一个获取文件上的独占锁的broker,就是master,如果这个broker挂了,其他broker获取文件上的独占锁,就从slave变成master。
broker61616、broker61618、broker61619的persistenceAdapter配置如下:


    

启动

依次启动broker,61616由于先启动,此时是master,61618、61619的启动结果如下,由于没抢到文件的独占锁,变成slave:
Startup.png

master关闭

关闭后,其中一个slave抢到文件的独占锁,变成master:
MasterFailed.png

重启原master

由于此时文件的独占锁已经被抢了,所以就算原master重启,也只能是slave了:
MasterRestarted.png

JDBC Master Slave

基于JDBC作为数据源,配置参考JDBC的持久化,不同的是,jdbcPersistenceAdapter要加个locker标签和lockKeepAlivePeriod的值。


    
        
            
        
    

启动

依次启动broker,61616由于先启动,此时是master,61618、61619的启动结果如下,由于没抢到锁,在等待:
数据库值:
image.png

master关闭

此时61619变成master
image.png

重启原master

在等待中
image.png

你可能感兴趣的:(activemq,消息中间件)