ActiveMQ主要的几类部署方式

1、默认单机版部署(kahadb)

    acitvemq单机存储方式,以本地的kahadb文件的方式存储,所以性能完全依赖于本地的磁盘IO,so不能提供高可用。

2、基于zookeeper的activemq集群(levelDB Master/Slave)

    mq5.9新推出的主从实现。选举出一个Master,其他节点自动作为Slave实时同步消息。

    因为存在slave进行实时同步消息,因此Master不用担心数据的丢失,所以levelDB会优先采用内存来存储数据,异步同步到磁盘。所以上该方式的mq读写性能特别好,特别是写的性能能够媲美非持久化的消息。

    优点:

        高可用性,数据安全,性能好。

    缺点:

        借助于zookeeper,因此至少需要(replicas/2)+1个activemq服务存活才能保证集群的正常运行,浪费资源。

3、基于共享数据库的主从(Shard JDBC Master/Slave)

    可以基于postgres、mysql、oracle等常用数据库。

    特点:

        每个节点启动都会争抢数据库锁,从而保证Master的唯一性,其他节点作为备份,一直在等待数据库锁的释放。

        因为所有的消息的读写,其实都是数据库操作。所以它的性能完全取决于数据库的性能。mq本身的压力很小。

    优点:

        高可用性,数据安全。

        简单灵活,两台节点就可以实现高可用。

    缺点:

        稳定性依赖数据库,性能依赖数据库。

4、基于共享磁盘主从(同上)

猜你喜欢

转载自blog.csdn.net/qq_39244264/article/details/80393481
今日推荐