生产环境使用Rabbitmq注意要点

1 使用场景

   生产者和消费者进行解耦。生产者和消费者节点独立动态扩展。


2 mq集群使用方式

   mq集群一般用于LAN,不便于在WAN中使用。mq本身对于分区问题解决的不好,会出现脑裂问题。mq处理脑裂问题默认采用ignore策略,在这种场景下,出现脑裂问题时,需要手工恢复。 可以修改脑裂问题的,mq集群的处理策略,让mq集群自行恢复。

 出现脑裂现象时,

1)mq日志会出现:

=ERROR REPORT==== 25-Feb-2015::20:04:25 ===

Mnesia('rabbit@ip-10-0-30-68'): ** ERROR ** mnesia_event got {inconsistent_database, running_partitioned_network, 'rabbit@ip-10-0-xx-xx'}

2)生产者和消费者不再正常处理

解决问题: 
   在出现问题的节点上执行:  sbin/rabbitmqctl stop_app 
   在出现问题的节点上执行:  sbin/rabbitmqctl start_app 
   如果mq集群包含两个节点时,只需要在一个节点上执行上述命令


3 mq集群不能采用kill -9 杀死进程,否则生产者和消费者不能及时识别mq的断连,会影响生产者和消费者正常的业务处理。


4 消费者停止时,需要平滑停止。否则会导致正在处理的消费数据一致性问题。

   可以接受kill -15命令或者业务听懂停止监听端口,在接受到停止命令时,首先取消消费者的订阅。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值