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

用k8s部署rocketmq5.0,用nodeport暴露proxy端口,通过rocketmq cl

用k8s部署rocketmq5.0,用nodeport暴露proxy端口,通过rocketmq client连接,能正常发送消息,但是消费不到消息,报超时。程序在消费的时候能正常给proxy发送心跳,但就是无法消费消息。

展开
收起
十一0204 2023-04-03 16:36:32 1228 1
3 条回答
写回答
取消 提交回答
  • 公众号:网络技术联盟站,InfoQ签约作者,阿里云社区签约作者,华为云 云享专家,BOSS直聘 创作王者,腾讯课堂创作领航员,博客+论坛:https://www.wljslmz.cn,工程师导航:https://www.wljslmz.com

    出现消息消费超时的情况,可能是由于消费者在消费时出现了阻塞,导致消费超时。不过从你的描述看,你的程序在消费的时候能正常给proxy发送心跳,说明已经连到 RocketMQ 服务器了,虽然发送消息正常,但是消费不到,可能是程序在消费消息时出现了一些问题。

    2023-04-24 14:32:56
    赞同 展开评论 打赏
  • 意中人就是我呀!

    可以继续排查下 pod网络策略,或者node的安全组这种或者可以在接收 receive 请求的地方和发出响应的地方打下断点 记录一下时间 看是否在长轮询预期时间之内,可以把客户端日志级别设置成trace 然后联合排查下,或者看看 编译的 jdk和运行时的jdk 版本是不是不一样,可能jdk有问题。此回答整理自钉群“群2-Apache RocketMQ 中国开发者钉钉群”

    2023-04-05 09:10:37
    赞同 展开评论 打赏
  • 随心分享,欢迎友善交流讨论:)

    有几个可能的原因导致您在使用k8s部署RocketMQ 5.0后无法正常消费消息:

    1、消费者配置不正确:请检查消费者配置文件是否正确,包括消费者组名、消费者类型、消费者实例名称、消费者订阅的主题等等。

    2、消息过期时间设置不正确:请检查您发送的消息是否已经过期,如果消息过期时间已经超过当前时间,那么消费者将无法消费这个过期的消息,需要重新发送消息。

    3、RocketMQ版本兼容性问题:请检查您使用的RocketMQ版本是否与客户端版本兼容,如果不兼容可能会导致无法消费消息。您可以尝试升级RocketMQ版本或者使用兼容的客户端。

    4、网络连接问题:请检查您的网络连接是否正常,包括rocketmq broker、rocketmq proxy和消费者之间的网络连接。您可以尝试使用telnet或者ping来测试网络连接是否正常。

    5、防火墙问题:如果您的服务器上启用了防火墙,那么可能会阻止消息的传输,您需要确保防火墙设置正确并开放必要的端口。

    6、rocketmq broker、rocketmq proxy启动参数配置不正确:请检查您的rocketmq broker、rocketmq proxy的启动参数配置是否正确。如果您的rocketmq broker、rocketmq proxy没有正确配置,可能会导致无法消费消息。

    建议您逐一排查以上可能的原因,如果还不能解决问题,请提供更多详细信息,便于我们更好的帮助您解决问题。

    2023-04-03 16:45:30
    赞同 展开评论 打赏

涵盖 RocketMQ、Kafka、RabbitMQ、MQTT、轻量消息队列(原MNS) 的消息队列产品体系,全系产品 Serverless 化。RocketMQ 一站式学习:https://rocketmq.io/

相关产品

  • 云消息队列 MQ
  • 相关电子书

    更多
    ACK 云原生弹性方案—云原生时代的加速器 立即下载
    ACK集群类型选择最佳实践 立即下载
    企业运维之云原生和Kubernetes 实战 立即下载

    相关镜像