MQ系列12:如何保证消息顺序性
[MQ系列1:消息中间件执行原理](https://www.cnblogs.com/wzh2010/p/15888498.html "MQ系列1:消息中间件执行原理") [MQ系列2:消息中间件的技术选型](https://www.cnblogs.com/wzh2010/p/15311174.htm ... »
[MQ系列1:消息中间件执行原理](https://www.cnblogs.com/wzh2010/p/15888498.html "MQ系列1:消息中间件执行原理") [MQ系列2:消息中间件的技术选型](https://www.cnblogs.com/wzh2010/p/15311174.htm ... »
RocketMQ 是笔者非常喜欢的消息队列,4.9.X 版本是目前使用最广泛的版本,但它的消费逻辑相对较重,很多同学学习起来没有头绪。 这篇文章,笔者梳理了 RocketMQ 的消费逻辑,希望对大家有所启发。  [Redis系列2:数据持久化提高可用性](https://www.cnblogs.com/w ... »
摘要:顺序消息是指对于一个指定的 Topic ,消息严格按照先进先出(FIFO)的原则进行消息发布和消费,即先发布的消息先消费,后发布的消息后消费。 本文分享自华为云社区《RocketMQ 顺序消费机制》,作者: 勇哥java实战分享 。 顺序消息是指对于一个指定的 Topic ,消息严格按照先进先 ... »
顺序消息是指对于一个指定的 Topic ,消息严格按照先进先出(FIFO)的原则进行消息发布和消费,即先发布的消息先消费,后发布的消息后消费。 顺序消息分为**分区顺序消息**和**全局顺序消息**。 **1、分区顺序消息** 对于指定的一个 Topic ,所有消息根据 Sharding Key 进 ... »
NameServer是一个注册中心,提供服务注册和服务发现的功能。NameServer可以集群部署,集群中每个节点都是对等的关系(没有像ZooKeeper那样在集群中选举出一个Master节点),节点之间互不通信。 **服务注册** Broker启动的时候会向所有的NameServer节点进行注册, ... »
目录 前言 刷盘服务源码分析 CommitRealTimeService刷盘源码分析 FlushRealTimeService刷盘源码分析 GroupCommitService刷盘源码分析 总结 前言 上篇文章我们介绍了消息刷盘的四种方式,本篇文章我们来介绍Broker是如何实现这四 »
目录 前言 刷盘相关类介绍 Broker刷盘源码分析 CommitLog构造&属性赋值 TransientStorePoolEnabled介绍 消息保存源码分析 消息刷盘入口方法源码分析 总结 前言 我们在学习RocketMQ的时候,我们知道RocketMQ的刷盘策略有两个刷 »
目录 前言 消息存储格式总览 CommitLog介绍 MappedFile详解 消息存储格式介绍 DefaultMessageStore介绍 消息存储源码分析 发送消息存储流程 消息预处理阶段 消息保存阶段 消息保存结果处理阶段 总结 前言 前面我们介绍了RocketMQ是如何接 »
目录 1.MQ概述 1.1 RocketMQ简介 1.2 MQ用途 1.3 常见MQ产品 2.RocketMQ 基本概念 2.1 消息 2.2 主题 2.3 标签 2.4 队列 2.5 Producer 2.6 Consumer 2.7 NameServer 2.8 Broker 2.9 R »
目录 前言 ConsumeQueue详解 IndexFile详解 IndexHeader slots槽位 indexes索引数据 实时更新ConsumeQueue与IndexFile源码分析 CommitLogDispatcherBuildConsumeQueue源码分析 CommitLog »
目录 前言 StoreCheckPoint介绍 StoreCheckPoint时间戳更新时机 StoreCheckPoint刷盘源码 消息加载源码分析 CommitLog加载 ConsumeQueue加载 IndexFile加载 ConsumeQueue与IndexFile恢复 总结 »
目录 前言 Broker消息清理机制简介 Broker与消息清理相关配置 消息清理机制源码分析 CommitLog清理源码分析 ConsumeQueue和IndexFile清理源码分析 ConsumeQueue文件清理 IndexFile清理 总结 前言 前面文章讲了消息是如何保存的 »
目录 前言 Consumer整体介绍 Consumer实现类 Consumer消费类型 DefaultMQPushConsumer主要API DefaultMQPushConsumer关键属性 Consumer消费模式 Consumer消费策略 Consumer使用 DefaultMQPush »
目录 说明 原理 事务消息处理流程 生产端 消费端 说明 事务消息: 1、不支持延时消息和批量消息2、如果消息没有及时提交,默认check 15次,可以通过Broker的transactionCheckMax参数配置次数。如果超时15次依然没有得到明确结果,将会打印异常信息,具体的处理策 »
摘要:RocketMQ 支持两种消息模式:集群消费( Clustering )和广播消费( Broadcasting )。 本文分享自华为云社区《一文讲透RocketMQ消费者是如何负载均衡的》,作者:勇哥java实战分享。 RocketMQ 支持两种消息模式:集群消费( Clustering )和 ... »
大家好,我是Leo!今天来和大家分享RocketMQ的一些用法。 领域模型介绍 Producer: 用于生产消息的运行实体。 Topic: 主题,用于消息传输和存储的分组容器。 MessageQueue: 消息传输和存储的实际单元容器。 Message: 消息传输的最小单元。 ConsumerGro ... »
RocketMQ 支持两种消息模式:集群消费( Clustering )和广播消费( Broadcasting )。 集群消费:同一 Topic 下的一条消息只会被同一消费组中的一个消费者消费。也就是说,消息被负载均衡到了同一个消费组的多个消费者实例上。 广播消费:当使用广播消费模式时,每条消息推送 ... »
摘要:这篇文章主要介绍 Spring Boot 项目使用 rocketmq-spring SDK 实现消息收发的操作流程,同时笔者会从开发者的角度解读 SDK 的设计逻辑。 本文分享自华为云社区《RocketMQ-Spring : 实战与源码解析一网打尽》,作者:勇哥java实战分享。 Rocket ... »
发送者其实比较简单,需要做的就是首先确定往哪里发送,其次怎么让消息发送顺畅。我们就看一下具体的代码吧。 首先调用start方法。完成各个类的初始化,启动多个定时任务,其中一个定时任务是updateTopicRouteInfoFromNameServer,这个方法里面和nameService建立长连 »