RocketMQ

【RocketMQ】事务实现原理总结

RocketMQ事务的使用场景 单体架构下的事务 在单体系统的开发过程中,假如某个场景下需要对数据库的多张表进行操作,为了保证数据的一致性,一般会使用事务,将所有的操作全部提交或者在出错的时候全部回滚。以创建订单为例,假设下单后需要做两个操作: 在订单表生成订单 在积分表增加本次订单增加的积分记录 ... »

深入理解RocketMQ 广播消费

这篇文章我们聊聊广播消费,因为广播消费在某些场景下真的有奇效。笔者会从基础概念、实现机制、实战案例、注意事项四个方面一一展开,希望能帮助到大家。 1 基础概念 RocketMQ 支持两种消息模式:集群消费( Clustering )和广播消费( Broadcasting )。 集群消费: 同一 To ... »

【RocketMQ】顺序消息实现总结

全局有序 在RocketMQ中,如果使消息全局有序,可以为Topic设置一个消息队列,使用一个生产者单线程发送数据,消费者端也使用单线程进行消费,从而保证消息的全局有序,但是这种方式效率低,一般不使用。 局部有序 假设一个Topic分配了两个消息队列,生产者在发送消息的时候,可以对消息设置一个路由I ... »

【RocketMQ】消息的消费总结

消费者从Broker拉取到消息之后,会将消息提交到线程池中进行消费,RocketMQ消息消费是批量进行的,如果一批消息的个数小于预先设置的批量消费大小,直接构建消费请求ConsumeRequest将消费请求提交到线程池处理,否则需要分批构建进行提交。 消息消费 在消息被提交到线程池后进行处理时,会调 ... »

RocketMQ 消息重试与死信队列

RocketMQ 消息重试与死信队列 RocketMQ 前面系列文章如下: RocketMQ系列(一) 基本介绍 RocketMQ 系列(二) 环境搭建 RocketMQ 系列(三) 集成 SpringBoot RocketMQ 系列(四) 消息存储 RocketMQ 系列(五)高可用与负载均衡 消 ... »

【RocketMQ】【源码】延迟消息实现原理

RocketMQ设定了延迟级别可以让消息延迟消费,延迟消息会使用SCHEDULE_TOPIC_XXXX这个主题,每个延迟等级对应一个消息队列,并且与普通消息一样,会保存每个消息队列的消费进度(delayOffset.json中的offsetTable): public class MessageSt ... »

shanml

RocketMQ 系列(五)高可用与负载均衡

RocketMQ 系列(五)高可用与负载均衡 RocketMQ 前面系列文章如下: RocketMQ系列(一) 基本介绍 RocketMQ 系列(二) 环境搭建 RocketMQ 系列(三) 集成 SpringBoot RocketMQ 系列(四) 消息存储 上一篇讲了 RocketMQ 的消息存储 ... »

RocketMQ 系列(四) 消息存储

RocketMQ 系列(四) 消息存储 本文是 RocketMQ 系列的第四篇,下面是前面几篇的文章,不清楚的话点击看一下吧。 RocketMQ系列(一) 基本介绍 RocketMQ 系列(二) 环境搭建 RocketMQ 系列(三) 集成 SpringBoot RocketMQ 作为一款优秀的分布 ... »

【RocketMQ】消息的拉取总结

在上一讲中,介绍了消息的存储,生产者向Broker发送消息之后,数据会写入到CommitLog中,这一讲,就来看一下消费者是如何从Broker拉取消息的。 RocketMQ消息的消费以组为单位,有两种消费模式: 广播模式:同一个消息队列可以分配给组内的每个消费者,每条消息可以被组内的消费者进行消费。 ... »

MQ系列14:MQ如何做到消息延时处理

[MQ系列1:消息中间件执行原理](https://www.cnblogs.com/wzh2010/p/15888498.html "MQ系列1:消息中间件执行原理") [MQ系列2:消息中间件的技术选型](https://www.cnblogs.com/wzh2010/p/15311174.htm ... »

RocketMQ 系列(三) 集成 SpringBoot

## RocketMQ 系列(三) 集成 SpringBoot 前两篇文章介绍了 RocketMQ 基本概念与搭建,现在以它与 SpringBoot 的结合来介绍其基本的用法。 - [RocketMQ系列(一) 基本介绍 ](https://www.cnblogs.com/CF1314/p/1766 ... »

RocketMQ 系列(二) 环境搭建

## RocketMQ 系列(二) 环境搭建 上一个章节对于 RocketMQ 作了一些概念上的介绍,如果你对于 RocketMQ 没有概念,不妨先看[RocketMQ系列(一) 基本介绍](https://www.cnblogs.com/CF1314/p/17662969.html)。 这个章节主 ... »

RocketMQ系列(一) 基本介绍

## RocketMQ系列(一) 基本介绍 ### 1、MQ 作用 MQ 的应用场景主要包含以下 3 个方面: #### 1.1、异步与解耦 当我们下了一个订单之后,订单服务会进行 RPC 同步调用 支付服务、库存服务、物流服务等,那么服务之间就会有耦合性,耦合性越高的话,容错性就越低,比如我们的支 ... »

在.NET Framework中使用RocketMQ(阿里云版)实战【第一章】

在开发某一个需求的时候,领导要求使用RocketMQ(阿里云版) 作为消息队列。生产者主要有WebAPI/MVC/JOB(控制台应用程序),然后消费者采用的是Windows服务。那[西瓜程序猿]来记录一下如何使用RocketMQ(阿里云版),给各位小伙伴作为参考防止踩坑。 ... »

【RocketMQ】消息的存储总结

当Broker收到生产者的消息发送请求时,会对请求进行处理,从请求中解析发送的消息数据,接下来以单个消息的接收为例,看一下消息的接收过程。 ## 数据校验 ### 封装消息 首先Broker会创建一个`MessageExtBrokerInner`对象封装从请求中解析到的消息数据,它会将Topic信息 ... »

SpringBoot3集成RocketMq

RocketMQ因其架构简单、业务功能丰富、具备极强可扩展性等特点被广泛应用,比如金融业务、互联网、大数据、物联网等领域的业务场景; ... »

【RocketMQ】MQ消息发送总结

RocketMQ是通过`DefaultMQProducer`进行消息发送的,它实现了`MQProducer`接口,`MQProducer`接口中定义了消息发送的方法,方法主要分为三大类: 1. `send`同步进行消息发送,向Broker发送消息之后等待响应结果; 2. `send`异步进行消息发送 ... »

【RocketMQ】消息的发送

RocketMQ是通过`DefaultMQProducer`进行消息发送的,它实现了`MQProducer`接口,`MQProducer`接口中定义了消息发送的方法,方法主要分为三大类: 1. `send`同步进行消息发送,向Broker发送消息之后等待响应结果; 2. `send`异步进行消息发送 ... »