摘要:
Broker读写分离机制 在 RocketMQ 中,有2处地方使用到 "读写分离" 机制。 Broker Master-Slave 读写分离:写操作到 Master Broker,从 Slave Broker 读取消息。Broker 配置为 slaveReadEnable=True(默认False) 阅读全文
摘要:
Broker消息存储机制 RocketMQ 使用 CommitLog 文件将消息存储到磁盘上,那么 RocketMQ 存储消息到磁盘的过程是怎么样的呢? RocketMQ 首先将消息数据写入操作系统 PageCache,然后定时将数据刷入磁盘。 一、Broker 消息存储的流程是什么? 下面主要介绍 阅读全文
摘要:
Broker 概述、启动和停止流程 Broker 是 RocketMQ 体系中核心组件之一,存储是 Broker 的核心功能之一,决定整个 RocketMQ 体系的吞吐性能、可靠性和可用性。 一、Broker 概述 1.1 什么是 Broker Broker 是 RocketMQ 中核心的模块之一, 阅读全文
摘要:
RocketMQ的路由原理 生产者发送消息、消费者消费时都需要从 Namesrv 拉取 Topic 路由信息,那么这些路由信息是如何注册到 Namesrv 的呢?如果 Broker 异常宕机,路由信息又是如何更新的呢? 一、路由注册 Namesrv 获取的 Topic 路由信息来自 Broker 定 阅读全文
摘要:
Namesrv 服务 Namesrv 在 RocketMQ 体系中,可以看做是一个 Topic 路由注册和管理、Broker注册和发现的角色。 一、概述 Namesrv 在 RocketMQ 体系中主要用于保存元数据、提高 Broker 的可用性。 1.1 什么是 Namesrv 在 RocketM 阅读全文
摘要:
RocketMQ部署拓扑和部署实践 一、常用的拓扑图 常用的 RocketMQ 的部署拓扑方式有 5 种,不同的部署方式可靠性不同。 一个基本的部署拓扑至少包含 Console 管理平台、Namesrv 和 Broker: Namesrv 部署:推荐一个集群并部署 2~3 个Namesrv 节点。 阅读全文
摘要:
RocketMQ体系架构 Github:https://github.com/apache/rocketmq/blob/master/docs/cn/architecture.md 一、概述 RocketMQ 不单单是一个技术,它还是一个体系。一个可用的 RocketMQ 体系简单总结如下: Pro 阅读全文
摘要:
消费者最佳实践 Gitbhub地址:https://github.com/apache/rocketmq/blob/master/docs/cn/best_practice.md 2.1 消费过程幂等 RocketMQ无法避免消息重复(Exactly-Once),所以如果业务对消费重复非常敏感,务必 阅读全文
摘要:
消费方式 RocketMQ 包含2种消费方式: Pull Push Pull方式:用户主动Pull消息,自主管理位点。默认的 Pull 消费者实现类:D:\rocketmq-master\client\src\main\java\org\apache\rocketmq\client\consumer 阅读全文
摘要:
RocketMQ(4.8.0)——消费进度保存机制 在消费者启动时会同时启动位点管理器,那么位点具体是怎么管理的呢? RocketMQ 设计了2种位点管理方式: 远程位点管理方式(集群消费时,位点由客户端交给 Broker 保存,代码路径:D:\rocketmq-master\client\src\ 阅读全文