开发者社区 > 云原生 > 消息队列 > 正文

RocketMQ只有第一个地址的服务是正常的,其他两个服务我关了,发消息,只有几个正常发送,咋操作?

RocketMQ只有第一个地址的服务是正常的,其他两个服务我关了,现在发10个消息,只有几个正常发送,其他的失败了,怎么操作呢?
7487a0847a31dff7033298a7dee5bef1.jpg

展开
收起
嘟嘟嘟嘟嘟嘟 2023-11-07 13:29:16 40 0
2 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    在只有一个代理节点正常运行的情况下,只有部分消息成功发送是很正常的。这是因为 RocketMQ 的设计原理就是按照顺序传递消息,而不是并发传递。这意味着在单个代理节点上只能传递一定数量的消息,并且当这个数量达到上限后,剩余的消息将会被阻塞等待。
    要解决这个问题,您可以增加集群中的代理节点数量,以分摊消息传输的压力。此外,您还可以尝试以下几种方式:

    1. 调整代理节点的容量。每个代理节点都有一定的消息缓冲区大小,您可以增加代理节点的缓冲区大小,以容纳更多的消息。
    2. 增加消息发送频率。可以降低每条消息的发送时间,从而更快地将消息传递出去。
    3. 使用分布式系统。如果您有多个集群,可以让各个集群互相配合,共同承担消息传输的任务。
    4. 使用多线程。您可以使用多线程的方式,将消息发送任务分散到多个线程中,以提高消息发送的速度。
    2023-11-07 13:52:09
    赞同 展开评论 打赏
  • 应该是proxy端口没有通,deadline exceesed 这个错误是grpc的, 一般是服务端不可用。此回答整理自钉群“群2-Apache RocketMQ 中国开发者钉钉群”

    2023-11-07 13:32:06
    赞同 展开评论 打赏

多个子产品线联合打造金融级高可用消息服务以及对物联网的原生支持,覆盖多行业。

相关产品

  • 云消息队列 MQ
  • 热门讨论

    热门文章

    相关电子书

    更多
    RocketMQ Client-GO 介绍 立即下载
    RocketMQ Prometheus Exporter 打造定制化 DevOps 平台 立即下载
    基于 RocketMQ Prometheus Exporter 打造定制化 DevOps 平台 立即下载