我们系统架构使用微服务,分布式消息通过RocketMQ。今天遇到一个奇怪的问题:RocketMQ使用P2P(点对点)消息传送模式,生产端生产一个消息,消费端消费几乎同时收到两个相同消息。在这里记录下,希望能帮助遇到此问题同样着急的朋友们。
问题的原因:
RocketMQ的消费端的一个微服务,启动两个进程。我们的微服务使用的com.alibaba.dubbo.container.Main.main(args)启动的,如果要用jetty或tomcat的应该就不会。
进程启动了两个:
消费端的消息几乎同步:
大家若觉得有问题或疑问,欢迎及时回复沟通。