Java Rabbitmq中四种集群架构的区别详解

网友投稿 277 2022-08-24


Java Rabbitmq中四种集群架构的区别详解

目录主备模式远程模式镜像模式多活模式Federation插件总结

Rabbitmq 四种集群架构

1. 主备模式 2. 远程模式3. 镜像模式  4. 多活模式

主备模式

主备模式: warren 兔子窝 一个主、一个备方案 主节点如果挂了 从节点提供服务 和Activemq 利用zk 做主/备一样

主备模式 -----------------------》HaProxy 配置

listen rabbitmq_jKNJvVcluster

bind 0.0.0.0:5682 # 配置tcp 模式

mode tcp # 简单的轮询

balance roundrobin #主节点

server bhz76 192.168.11.78:5672 check inter 5000 rise 2 fall 2

server bhz76 192.168.11.79:5672 backup check inter 5000 rise 2 fall 2 #备用节点

远程模式

远程模式 远距离通信和复制 可以实现双活的一种模式,简称 Shovel 模式 配置麻烦 现在使用不多

所谓Shovel 就是我们可以把消息进行不同数据中心的复制工作 ,可以跨地域的让两个mq 集群互联

1.0 Step1 启动RabbitMq 插件

​ rabbitmq-plugins enable amqp_client

​ rabbitmq-plugins enable rabbitmq_shovel

2. 0 创建rabbitmq.config 文件

touch /etc/rabbitmq/rabbitmq.config

镜像模式

集群模式非常经典的就是Mirror 镜像模式 保证100%数据不丢失

在实际工作中用的最多 并且实现集群非常的简单 一般互联网大厂 都会使用这样构建这种镜像集群模式

Mirror 镜像队列

高可靠 ----------》数据同步 —》elang 交换机 ----》3节点

缺点 :没有保证横向扩容

多活模式

这种模式也是实现异地数据复制的主流模式 因为Shovel 模式 配置比较复杂 所以一般来说实现异地集群都是使用这种双活或者 多活模型来实现的

这种模型需要依赖RabbitMq 的federation 插件 可以实现持续的可靠的Amqp 的数据通信 多活模式实际配置与应用非常简单

RabbitMq 部署架构采用双中心模式 多中心 那么在两套 或多套 数据中心中客部署一套 RabbitMq 集群 客中心的RabbitMq 服务除了需要为业务提供正常的消息服务外 中心之间还需要实现部分队列消息共享

Federation 插件

Federation 插件 是一个不需要构建Cluster 而在Brokers 之间传输消息的高性能插件 Federation 插件 可以在Brokers 或者Cluster 之间传输消息 连接的双方可以使用不同的users 和virtual hosts 双方也可以使用版本不同的 RabbitMq 和Erlang Federation 插件使用AMQP 协议通讯 可以接收不连接的传输

Federation Exchanges 可以看成Downstream 从Upstream 主动拉取消息 但并不是拉取所有消息 必须是在Downstream 上已经明确定义Bindings 关系的 Exchange 也就是有实际的物理 Queue 来接收消息 才会从Upstream 拉取消息组合在一起 ,绑定/解除绑定命令将发送到Upstream 交换机 因此 Federation Exchanges 只接收具有订阅的消息

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注我们的更多内容!


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:python_绘制动态地图(python在地图上画线路)
下一篇:python_绘制动态地图(Python绘制地图)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~