我的架构梦:(九十九)消息中间件之RocketMQ的高可用机制——消息消费高可用

欢迎大家关注我的公众号【老周聊架构】,Java后端主流技术栈的原理、源码分析、架构以及各种互联网高并发、高性能、高可用的解决方案。

一、前言

在前两篇我们介绍了

我的架构梦:(九十七)消息中间件之RocketMQ的高可用机制——消息存储高可用
我的架构梦:(九十八)消息中间件之RocketMQ的高可用机制——消息发送高可用

这一篇我们来说一下消息消费是如何保证高可用的。

要想知道消息消费的高可用,那我们得知道消息是怎么消费的吧。我们知道 Consumer 集群中每个 Consumer 都有消费组,那一个消费组的多个消费者是如何对消息队列(一个主题对应多个消息队列),那消费者是如何做的负载均衡呢?一个消费者又是如何并发消费消息队列的消息呢(一个消费者可以对应多个消息队列,而一个消息队列只能被一个消费者消费)?这就是消费端消息负载均衡与重新分布机制,这个留给你自己去思考。

本文重点讲消息消费高可用的机制。我们的业务场景,确实无法避免消息消费失败的情况下,比如网络异常、业务逻辑本身异常、还有的自身业务没异常而调用的第三方异常等。但无论啥情况,作为一款消息中间件,你得保证我消息消费的时候消息不会丢失吧,要是重要的业务,数据丢了,那没人敢用这款产品了,所以消息消费高可用也异常的重要。即使消息一直消费失败,也不能丢失数据。那 Roc

猜你喜欢

转载自blog.csdn.net/riemann_/article/details/114955655