RabbitMQ 集群

2022-03-08  本文已影响0人  Newzer

我的观点是 RabbitMQ 不适合做集群,用 RabbitMQ 做集群还不如直接用 kafka,毕竟人家先天就具有高可用的特性

RabbitMQ 有两种集群模式:

普通模式:集群中各个节点之间只会相互同步元数据,元数据包括 

队列元数据包括队列名称和它们的属性,比如是否可持久化,是否自动删除

交换器元数据交换器名称、类型、属性

绑定元数据内部是一张表格记录如何将消息路由到队列

vhost 元数据为 vhost 内部的队列、交换器、绑定提供命名空间和安全属性

该模式的特点:一个消息在众多节点中只会保存一份,如果接受请求的节点不是在该消息所在队列的节点上,则MQ内部会通过分布式通信框架 OTP 来进行这两个节点之间的通信来响应客户端,例如:消息进入 rabbit01 节点的 Queue 后,consumer 从 rabbit02 节点消费时,RabbitMQ 会临时在 rabbit01、rabbit02 间进行消息传输,把 rabbit01 中的消息实体取出并经过 rabbit02 发送给 consumer。所以 consumer 应尽量连接每一个节点,从中取消息。

镜像模式:是真正的集群模式,元数据和队列数据每个节点中都有一份,所以可用性更高

各个节点之间没有所谓的主从,主备的角色,因为集群本身并不提供负载均衡的作用 ,需要搭配其他的负载均衡器或者高可用软件 进行使用,麻烦得要死。。。。。。

上一篇 下一篇

猜你喜欢

热点阅读