如图所示: 前端采用keepalived+lvs实现高可用负载均衡, RabbitMQ HA 队列(镜像队列)进行消息队列结构复制。本方案中搭建两个节点,并且都是磁盘节点(所有节点状态保持一致,节点完全对等),只要有任何一个节点能够工作,RabbitMQ 集群对外就能提供服务。任务处理进程同时监控每一太RabbitMQ节点(每个节点都相应部署一份任务处理模块)。这样一来,每一份任务处理模块只需要处理自己所监听的rabbitMQ-server接受的任务即可,两份任务处理模块功能完全一致,但相互不影响;当其中一台RabbitMQ宕机之后,与之对应的任务处理进程停止即可,不影响另外一个节点正常工作。
本例环境:
rabbitMQ1:192.168.86.224
rabbitMQ2:192.168.86.235
keepalived(master)+lvs:192.168.86.224
keepalived(backup)+lvs:192.168.86.235
VIP:192.168.86.14
一.安装mq
1.二台机器全部安装Erlang
yum install compat-openssl10
yum install libnsl
yum install ncurses-compat-libs
2.安装socat、erlang依赖包以及mq
yum install socat
rpm -ivh erlang-20.3-1.el7.centos.x86_64.rp