RocketMQ 怎么实现顺序消费的
一、先搞清楚:顺序消费到底顺序在哪里 很多人一提 RocketMQ 顺序消费,第一反应是“消息按顺序消费”。这句话没错,但不够准确。 更准确地说:RocketMQ 的顺序消费,是以 MessageQueue 为单位保证顺序。只要同一类业务消息被发到同一个队列里,消费端就会尽量保证 …
继续阅读标签
共 6 篇
一、先搞清楚:顺序消费到底顺序在哪里 很多人一提 RocketMQ 顺序消费,第一反应是“消息按顺序消费”。这句话没错,但不够准确。 更准确地说:RocketMQ 的顺序消费,是以 MessageQueue 为单位保证顺序。只要同一类业务消息被发到同一个队列里,消费端就会尽量保证 …
继续阅读很多人用 RocketMQ 消费消息,第一眼看到的代码都差不多: consumer.registerMessageListener((msgs, context) -> { // 处理业务逻辑 return …
继续阅读上一篇从设计角度讲了 RocketMQ 存储的三个核心结论:全局顺序写、PageCache 押注、读写分离后台化。这篇我们把同一套逻辑放到源码里重走一遍,看看那些设计决策落地时到底长什么样。 写入主路径:一把锁守住顺序写 消息从 SendMessageProcessor 进来的第 …
继续阅读RocketMQ 里有个很有意思的组件——NameServer,它干的事情说起来很简单:维护整个 Broker 集群的路由信息,让生产者和消费者知道该往哪发消息、从哪拉消息。 但它的设计思路,和大多数分布式注册中心完全不一样。没有主从选举,没有 Raft,没有 Paxos,节点之 …
继续阅读RocketMQ 的存储设计,我第一次看的时候觉得复杂,后来发现其实就一个核心:把磁盘当内存用外加用到极致的读写分离技术。 全局顺序写、内存映射、零拷贝、异步刷盘,这些词你可能都听过,但凑在一起为什么就快了?今天我们就从存储的核心设计出发,一层一层拆清楚。 从一个问题开始 假设你 …
继续阅读事务消息为 Apache RocketMQ 中的高级特性消息,本文为您介绍事务消息的应用场景、功能原理、使用限制、使用方法和使用建议。 应用场景 分布式事务的诉求 分布式系统调用的特点为一个核心业务逻辑的执行,同时需要调用多个下游业务进行处理。因此,如何保证核心业务和多个下游业务 …
继续阅读