RocketMQ使用问题总结

RocketMQ使用问题总结

1,多个RocketMQ生产者实例化问题

问题体现:同一个服务中多个rocketmq的生产者实例初始化(namserver不同)后,使用生产者实例B发送MQ成功,在MQB的控制台上找不到该消息,在MQA的控制台上能找到对应消息

问题原因:两个rocketmq生产者实例初始化,在没有设置instancename的情况下,A和B两个MQ实例都默认instancename为default,所以不管有多少个生产者实例,只能取到其中一个实例

解决方法:为每一个rocketmq生产者实例设置不同的instancename参数

参考地址:http://www.360doc.com/content/19/0607/18/13644263_840996591.shtml

2,broker busy

问题体现:发送MQ时报错

问题原因:等待队列时间超过队列设置的最大等待时间

解决方法:

  1. 业务逻辑处理中进行异常捕获,如果捕获到异常为MQBrokerException并且responseCode为2则重发消息
  2. 修改broker的默认发送消息任务队列等待时长waitTimeMillsInSendQueue(单位: 毫秒)

参考地址:https://blog.csdn.net/u010152179/article/details/91797149

3,no route info of this topic

问题体现:发送MQ时报错

问题原因:未找到对应的topic

解决方法:

  1. broker开启自动创建topic
  2. 手动创建topic

参考地址:https://blog.csdn.net/prestigeding/article/details/108836892

4,the producer group has bean created before

问题体现:同一个服务中多个rocketmq的生产者实例初始化(namserver相同且groupname相同),只会有一个rocketmq实例初始化成功

问题原因:当其中一个rocketmq生产者实例初始化成功后,已创建并订阅该组,其他实例再以相同的组来初始化时,就会报此错误

解决方案:为每一个rocketmq生产者实例设置不同的groupname

参考地址:https://my.oschina.net/u/4303276/blog/4791393

感谢各位大神相助!!!

你可能感兴趣的:(rabbitmq)