一、消息可靠性保障

 

#RabbitMQ消息可靠性保障:消息补偿机制 #消息幂等性保障:乐观锁机制 #RabbitMQ集群搭建 @FDDLC

 

 

二、消息幂等性保障

 

#RabbitMQ消息可靠性保障:消息补偿机制 #消息幂等性保障:乐观锁机制 #RabbitMQ集群搭建 @FDDLC

#RabbitMQ消息可靠性保障:消息补偿机制 #消息幂等性保障:乐观锁机制 #RabbitMQ集群搭建 @FDDLC

 

 

三、RabbitMQ集群搭建

1、停止RabbitMQ服务:service rabbitmq-server stop

#RabbitMQ消息可靠性保障:消息补偿机制 #消息幂等性保障:乐观锁机制 #RabbitMQ集群搭建 @FDDLC

2、启动第1个RabbitMQ集群结点:管理界面为15672

RABBITMQ_NODE_PORT=5673 RABBITMQ_NODENAME=rabbit1 rabbitmq-server start

#RabbitMQ消息可靠性保障:消息补偿机制 #消息幂等性保障:乐观锁机制 #RabbitMQ集群搭建 @FDDLC

注意:上图表示启动成功,但当前界面不能再输入命令了。要新开一个命令窗口。(其实Ctr+Z亦可,结点不会被停止)

 

3、启动第2个结点:管理界面为15674

RABBITMQ_NODE_PORT=5674 RABBITMQ_NODENAME=rabbit2 RABBITMQ_SERVER_START_ARGS="-rabbitmq_management listener [{port,15674}]" rabbitmq-server start

#RabbitMQ消息可靠性保障:消息补偿机制 #消息幂等性保障:乐观锁机制 #RabbitMQ集群搭建 @FDDLC

 

4、结果:

#RabbitMQ消息可靠性保障:消息补偿机制 #消息幂等性保障:乐观锁机制 #RabbitMQ集群搭建 @FDDLC

 

#RabbitMQ消息可靠性保障:消息补偿机制 #消息幂等性保障:乐观锁机制 #RabbitMQ集群搭建 @FDDLC

 

 

5、正式搭建集群:

#RabbitMQ消息可靠性保障:消息补偿机制 #消息幂等性保障:乐观锁机制 #RabbitMQ集群搭建 @FDDLC

1)、停止rabbit1结点:rabbitmqctl -n rabbit1 stop_app

#RabbitMQ消息可靠性保障:消息补偿机制 #消息幂等性保障:乐观锁机制 #RabbitMQ集群搭建 @FDDLC

2)重置rabbit1结点:rabbitmqctl -n rabbit1 reset

#RabbitMQ消息可靠性保障:消息补偿机制 #消息幂等性保障:乐观锁机制 #RabbitMQ集群搭建 @FDDLC

3)启动rabbit1结点:rabbitmqctl -n rabbit1 start_app

#RabbitMQ消息可靠性保障:消息补偿机制 #消息幂等性保障:乐观锁机制 #RabbitMQ集群搭建 @FDDLC

4)、停止rabbit2结点:rabbitmqctl -n rabbit2 stop_app

#RabbitMQ消息可靠性保障:消息补偿机制 #消息幂等性保障:乐观锁机制 #RabbitMQ集群搭建 @FDDLC

5)、重置rabbit2结点:rabbitmqctl -n rabbit2 reset

#RabbitMQ消息可靠性保障:消息补偿机制 #消息幂等性保障:乐观锁机制 #RabbitMQ集群搭建 @FDDLC

6)、把rabbit2结点加到rabbit1结点:rabbitmqctl -n rabbit2 join_cluster [email protected]'VM-0-10-centos'

#RabbitMQ消息可靠性保障:消息补偿机制 #消息幂等性保障:乐观锁机制 #RabbitMQ集群搭建 @FDDLC

说明:加入命令中@后面是主机名!

加入后的结果:

#RabbitMQ消息可靠性保障:消息补偿机制 #消息幂等性保障:乐观锁机制 #RabbitMQ集群搭建 @FDDLC

说明:

a、如果不知道主机名,上图可以得知。

b、上图表明rabbit2结点尚未启动。

7)启动rabbit2结点:rabbitmqctl -n rabbit2 start_app

#RabbitMQ消息可靠性保障:消息补偿机制 #消息幂等性保障:乐观锁机制 #RabbitMQ集群搭建 @FDDLC

 

 

四、互相备份

上面设置完后,的确形成了一个集群,但rabbit1结点的消息可以在rabbit2结点中看到,反之亦然。但rabbit1中的消息在rabbit2中并没有备份,如果rabbit1不能访问了,那么原先在rabbit1中的消息也就跟着不能访问。要解决这个问题,就得配置镜像。

#RabbitMQ消息可靠性保障:消息补偿机制 #消息幂等性保障:乐观锁机制 #RabbitMQ集群搭建 @FDDLC

 

在任意一个RabbitMQ管理界面进行设置

#RabbitMQ消息可靠性保障:消息补偿机制 #消息幂等性保障:乐观锁机制 #RabbitMQ集群搭建 @FDDLC

 

设置完就OK了。

相关文章: