tongchenkeji 发表于:2023-11-7 13:29:160次点击 已关注取消关注 关注 私信 RocketMQ只有第一个地址的服务是正常的,其他两个服务我关了,发消息,只有几个正常发送,咋操作?[阿里云消息队列MQ] 暂停朗读为您朗读 RocketMQ只有第一个地址的服务是正常的,其他两个服务我关了,现在发10个消息,只有几个正常发送,其他的失败了,怎么操作呢? 「点点赞赏,手留余香」 赞赏 还没有人赞赏,快来当第一个赞赏的人吧! 海报 消息队列 MQ# RocketMQ973# 云消息队列 MQ1430# 消息中间件1371
小周sirAM 2023-11-28 0:18:59 1 在只有一个代理节点正常运行的情况下,只有部分消息成功发送是很正常的。这是因为 RocketMQ 的设计原理就是按照顺序传递消息,而不是并发传递。这意味着在单个代理节点上只能传递一定数量的消息,并且当这个数量达到上限后,剩余的消息将会被阻塞等待。要解决这个问题,您可以增加集群中的代理节点数量,以分摊消息传输的压力。此外,您还可以尝试以下几种方式: 调整代理节点的容量。每个代理节点都有一定的消息缓冲区大小,您可以增加代理节点的缓冲区大小,以容纳更多的消息。 增加消息发送频率。可以降低每条消息的发送时间,从而更快地将消息传递出去。 使用分布式系统。如果您有多个集群,可以让各个集群互相配合,共同承担消息传输的任务。 使用多线程。您可以使用多线程的方式,将消息发送任务分散到多个线程中,以提高消息发送的速度。
@番茄酱脑袋、AM 2023-11-28 0:18:59 2 应该是proxy端口没有通,deadline exceesed 这个错误是grpc的, 一般是服务端不可用。此回答整理自钉群“群2-Apache RocketMQ 中国开发者钉钉群”
在只有一个代理节点正常运行的情况下,只有部分消息成功发送是很正常的。这是因为 RocketMQ 的设计原理就是按照顺序传递消息,而不是并发传递。这意味着在单个代理节点上只能传递一定数量的消息,并且当这个数量达到上限后,剩余的消息将会被阻塞等待。
要解决这个问题,您可以增加集群中的代理节点数量,以分摊消息传输的压力。此外,您还可以尝试以下几种方式:
应该是proxy端口没有通,deadline exceesed 这个错误是grpc的, 一般是服务端不可用。此回答整理自钉群“群2-Apache RocketMQ 中国开发者钉钉群”