使用rocketmq第一次发消息很慢

来源:9-9 Spring消息编程模型01-编写生产者

慕用5498483

2019-08-07

使用rocketmq第一次发消息很慢,不设置发消息的超时时间会图片描述报超时异常

写回答

1回答

大目

2019-08-07

您好,这个应该是网络问题导致的。

RocketMQ目前不支持IP变化(这意味着机器一旦重新被分配IP的话,可能会导致消费问题:因为Name Server存储了Topic和Producer之间的映射关系,映射关系发生变化了)

我百度了一下,建议您按照这篇文章解决:

https://blog.csdn.net/mefly521/article/details/84394483

也就是启动时,指定一下Broker的实际IP,另外如果是Windows,务必记得关闭下防火墙

----------

此外,个人不建议在实际项目中直接使用RocketMQ的API,这是因为如果你直接用RocketMQ的API,那么很可能被RocketMQ绑死,带来的问题:

  1. 想换用其他的MQ实现,基本不可能,因为API完全不一样;

  2. 如果未来,新版本的RocketMQ的API发生变更,你的业务代码要到处修改;

  3. 开发需要单独学习这一套MQ的API

建议使用:

  1. Spring Messaging编程模型

  2. Spring Cloud Stream编程模型

实现消息收发。

这样:

  1. 想换MQ实现,编程模型上都不会变;

  2. 由编程模型实现新版RocketMQ的适配;

  3. 不管用什么MQ(RocketMQ/Kafka/RabbitMQ),模型都是一样的,会一套就能搞定各种MQ的消息收发!


0
4
大目
回复
慕用5498483
在项目初始化的时候先发一条没用的消息,以后用的时候就不会出现这个问题了。这个貌似是个方法。。哈哈。
2019-09-07
共4条回复

Spring Cloud Alibaba微服务从入门到进阶

面向未来微服务:熟练掌握Spring Cloud Alibaba

3083 学习 · 1324 问题

查看课程