美文网首页
2、rabbitMq的高可用性方式

2、rabbitMq的高可用性方式

作者: 松松木tell | 来源:发表于2022-03-31 10:34 被阅读0次

    我们都知道MQ的稳定性至关重要,如果只是单机的应用是无法在生产环境应用。

    rabbitmq的几种模式

    rabbitmq在消息中间件中是比较具有代表性的,它主要基于主从模式进行高可用的。
    rabbitmq主要有三种模式:单机、普通集群、镜像集群。

    2.1 单机模式

    这个单机模式,就是指单应用,我们可以用来学习mq的使用,不具备生产价值。

    2.2 普通集群模式

    这种模式,其实是启动了多个mq实例在不同机器上,组合成一个集群。每个实例都会同步queue的元数据(可以理解成配置信息,如exchange,queue的配置),通过元数据可以找到queue所在的实例,获取到数据。但是我们创建的queue只会放在一mq个实例上。
    当然这也不是个好的模式

    • 首先数据只会放在一个实例上,不具备副本能力,存在风险。
    • 其次虽然消费者可以连接多个实例,但如果连接的不是数据所在的实例,需要通过元数据将实际数据拉取的过程,存在大量数据开销。

    所以这个方案也只是比第一个好些,部署了多台机器,可以支撑更多的消息,提高吞吐量,但不具备高可用

    2.3 镜像集群模式(高可用、非分布式)

    镜像模式其实就是每个mq实例都有一份完整的镜像。当我们将往queue里写数据时,都会自动将消息同步到多个实例的queue中。

    • 生产者向任一服务节点注册队列,该队列内容会同步到其他节点中。
    • 任何消费者向任何节点请求消息,都可以直接获取到数据。
    • 任何节点宕机,不影响消息在其他节点消费。

    这种模式虽然保证了高可用,但缺点也十分明显:

    • 性能开销很大,消息要同步到相应的节点,网络带宽和消耗很重。
    • 非分布式的,没有横向扩展能力。所有的节点都有全量数据,增加节点不能提高系统的处理能力。

    相关文章

      网友评论

          本文标题:2、rabbitMq的高可用性方式

          本文链接:https://www.haomeiwen.com/subject/hvxwjrtx.html