您好,登录后才能下订单哦!
这篇文章给大家分享的是有关Java Rabbitmq中四种集群架构的区别是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
Rabbitmq 四种集群架构
1. 主备模式
2. 远程模式
3. 镜像模式
4. 多活模式
主备模式: warren 兔子窝 一个主、一个备方案 主节点如果挂了 从节点提供服务 和Activemq 利用zk 做主/备一样
主备模式 -----------------------》HaProxy 配置
listen rabbitmq_cluster 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 插件 是一个不需要构建Cluster 而在Brokers
之间传输消息的高性能插件 Federation 插件 可以在Brokers 或者Cluster 之间传输消息 连接的双方可以使用不同的users 和virtual hosts
双方也可以使用版本不同的 RabbitMq
和Erlang Federation
插件使用AMQP 协议通讯 可以接收不连接的传输
Federation Exchanges
可以看成Downstream
从Upstream 主动拉取消息 但并不是拉取所有消息 必须是在Downstream
上已经明确定义Bindings 关系的 Exchange 也就是有实际的物理 Queue 来接收消息 才会从Upstream 拉取消息组合在一起 ,绑定/解除绑定命令将发送到Upstream
交换机 因此 Federation
Exchanges
只接收具有订阅的消息
感谢各位的阅读!关于“Java Rabbitmq中四种集群架构的区别是什么”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。