1 服务架构概述
架构使用技术:RabbitMQ Cluster + Queue HA + Haproxy + Keepalived
3台rabbitMQ服务器构建broker集群,允许任意2台服务器故障而服务不受影响,在此基础上,通过Queue HA (queue mirror)实现队列的高可用,在本例中镜像到所有服务器节点(即1个master,2个slave);为保证客户端访问入口地址的唯一性,通过haproxy做4层代理来提供MQ服务,并通过简单的轮询方式来进行负载均衡,设置健康检查来屏蔽故障节点对客户端的影响;使用2台haproxy并且通过keepalived实现客户端访问入口的高可用机制。
2 服务架构设计
image-20210412220430840.png3 服务节点配置
服务器IP | hostname | 节点说明 | 端口 | 管控台地址 |
---|---|---|---|---|
192.168.11.71 | bhz71 | rabbitmq master | 5672 | http://192.168.11.71:15672 |
192.168.11.72 | bhz72 | rabbitmq slave | 5672 | http://192.168.11.72:15672 |
192.168.11.73 | bhz73 | rabbitmq slave | 5672 | http://192.168.11.73:15672 |
192.168.11.74 | bhz74 | haproxy+keepalived | 8100 | http://192.168.11.74:8100/rabbitmq-stats |
192.168.11.75 | bhz75 | haproxy+keepalived | 8100 | http://192.168.11.75:8100/rabbitmq-stats |
4 官方文档手册
集群配置文档:http://www.rabbitmq.com/clustering.html
镜像队列文档:http://www.rabbitmq.com/ha.html
集群操作文档:http://www.rabbitmq.com/man/rabbitmqctl.1.man.html
Spring AMQP文档:http://www.blogjava.net/qbna350816/category/55056.html?Show=All
事务文档:http://www.blogjava.net/qbna350816/archive/2016/08/13/431567.html
5 相关信息
博文不易,辛苦各位猿友点个关注和赞,感谢
网友评论