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

Apache RocketMQ这个是rocketmq 4.x版本设计的重大缺陷吗? 当broker

问题1:Apache RocketMQ这个是rocketmq 4.x版本设计的重大缺陷吗? 当broker - master挂掉之后,不会切slave,直接返回一个空值? image.png 4.7.1image.png 问题2:这个requestFail一般是什么导致的 ?image.png 应该没问题,代码看错了

展开
收起
真的很搞笑 2023-07-03 16:31:00 106 0
5 条回答
写回答
取消 提交回答
  • 问题1: Apache RocketMQ这个是rocketmq 4.x版本设计的重大缺陷吗? 当broker - master挂掉之后,不会切slave,直接返回一个空值?

    Apache RocketMQ是一个分布式消息中间件,4.x版本是其较新的版本。在RocketMQ的设计中,当Broker的Master节点挂掉后,会自动进行Slave节点的切换,确保消息的可靠传输。因此,当Broker - Master节点挂掉时,应该会有Slave节点接替Master的角色,消息仍然可以正常传递,而不会直接返回一个空值。

    然而,可能存在一些特殊情况或配置问题导致切换过程出现延迟或失败,从而影响消息的可靠性。在这种情况下,可以通过监控和调整相关配置来提高RocketMQ的可用性和可靠性。

    2023-07-21 21:54:33
    赞同 展开评论 打赏
  • 天下风云出我辈,一入江湖岁月催,皇图霸业谈笑中,不胜人生一场醉。

    不是,Apache RocketMQ 4.x版本中的设计并没有这个问题。在RocketMQ 4.x版本中,如果broker - master挂掉,会自动将该节点的消息迁移到其他节点上,确保整个系统的可用性。因此,当broker - master挂掉之后,不会切slave,而是会继续使用其他节点来提供服务。当然,如果您希望在broker - master挂掉的情况下,消费者仍然能够正常工作,可以考虑使用RocketMQ的备份机制,将消费者的消费偏移量备份到其他节点上,这样即使broker - master挂掉,消费者也能从备份节点上获取消费偏移量,从而正常地消费消息。

    2023-07-07 18:36:01
    赞同 展开评论 打赏
  • 北京阿里云ACE会长

    在RocketMQ 4.x版本中,确实存在一些由于设计缺陷导致的问题

    例如:

    当Broker-Master节点发生故障时,可能会出现数据不一致的情况:在RocketMQ 4.x版本中,Master节点和Slave节点之间的数据同步是通过异步复制实现的,这意味着在Master节点故障时,Slave节点上的数据可能不是最新的。这可能导致一些消息丢失或者重复消费的情况。

    当Broker-Master节点发生故障时,部分消费者可能会无法消费消息:在RocketMQ 4.x版本中,当Master节点发生故障时,系统会自动将Slave节点上的数据切换到新的Master节点上。然而,在切换过程中,可能会出现一些消息无法正常消费的情况,这可能导致消息积压和消费者异常。

    2023-07-03 18:38:16
    赞同 展开评论 打赏
  • 回答1:具体是4的多少版本,看下slaveReadEnable 参数是否开启,此回答整理自钉群“群2-Apache RocketMQ 中国开发者钉钉群”

    2023-07-03 16:46:35
    赞同 展开评论 打赏
  • Apache RocketMQ 4.x版本并没有设计上的重大缺陷,但是在实际运行过程中可能会出现一些问题。对于您提到的情况,当broker的master节点挂掉之后,RocketMQ应该会尝试将流量切换到slave节点上,但是有时可能会出现切换失败或者切换时间过长的情况。这可能是由于网络故障、资源不足或其他原因导致的。

    在这种情况下,您可以尝试以下方法来解决问题:

    确认网络连接是否正常,以确保master节点与slave节点之间的通信没有出现问题。 检查master节点与slave节点之间的数据同步是否正常,确保slave节点的数据与master节点保持一致。 尝试重启master节点或者增加slave节点的数量,以增加系统的容错性和可用性。 调整RocketMQ的配置参数,例如增加消息队列的数量、调整消息发送和消费的并发度等,以提高系统的性能和稳定性。

    2023-07-03 16:39:26
    赞同 展开评论 打赏

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

相关产品

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

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

    相关镜像