排序
27.RocketMQ之消费者启动源码
消费者启动 消费者启动示例代码 package com.itheima.mq.rocketmq.base.producer; import org.apache.rocketmq.client.consumer.DefaultMQPushConsumer; import org.apache.rocketmq.client....
26.RocketMQ之生产者发送消息源码
生产者发送消息的流程图 生产者发送消息的调用链路如下: org.apache.rocketmq.client.producer.DefaultMQProducer#send(org.apache.rocketmq.common.message.Message) org.apache.rocketmq.c...
25.RocketMQ之生产者的启动流程
生产者DefaultMQProducer启动 消息生产者的代码都在client模块中,相对于RocketMQ来讲,消息生产者既是客户端,也是消息的提供者。 下面来看下DefaultMQProducer相关的方法和属性。 DefaultMQPr...
24.RocketMQ之动态增减NameServer
动态增减NameServer 一个消息队列集群由多台机器组成,持续稳定地提供服务,因为业务需求或硬件故障,经常需要增加或减少各个角色的机器,本节介绍如何在不影响服务稳定性的情况下动态地增减机...
23.RocketMQ之NameServer处理Broker心跳包,更新本地路由信息
NameServer处理Broker心跳包,更新本地路由信息 DefaultRequestProcessor继承自NettyRequestProcessor:处理各种客户端的请求,如果请求类型是为REGISTER_BROKER,则将请求转发到RouteInfoManager...
22.RocketMQ之NameServer启动流程
NameServerController启动流程总览 启动类:org.apache.rocketmq.namesrv.NamesrvStartup#main public static void main(String[] args) { main0(args); } public static NamesrvController mai...
21.RocketMQ源码之NameServer的路由管理和架构设计
NameServer 路由管理 Broker消息服务器在启动的时向所有NameServer注册。 消息生产者Producer在发送消息之前先从NameServer获取Broker服务器地址列表然后根据负载均衡算法从列表中选择一台服务...
20.消息积压与处理消息积压
业务场景: 在一个系统中,由生产者系统和消费者系统两个环节组成,生产者系统不停的把消息写入RocketMQ里去,然后消费者系统就负责从RocketMQ里消费消息。 该系统在生产环境的高峰期内,大概有...
19.RocketMQ之消息丢失的场景以及解决方案
如果我们的项目中引入了MQ,势必要面对的一个问题,就是消息丢失问题,今天我们就来聊聊消息是怎么丢失的。 现在假设我们的业务是这样的,用户通过订单系统下了一个订单,订单系统完成支付扣减...
18.RocketMQ中消息重复的场景和幂等处理
消息重复的场景 发送消息异常,重试发送导致消息重复★ 当一条消息已被成功发送到服务端并完成持久化。此时出现网络闪断或者客户端宕机,导致服务端对生产者的确认应答失败。生产者发送消息到mq...
解读 RocketMQ 5.0 全新的高可用设计
作者:斜阳 高可用架构演进背景 在分布式系统中不可避免的会遇到网络故障,机器宕机,磁盘损坏等问题,为了向用户不中断且正确的提供服务,要求系统有一定的冗余与容错能力。RocketMQ 在日志,...
RockerMQ4.x 延时消息原理、流程梳理~
前言 相信用过RocketMq的小伙伴都知道,RocketMq支持延时消息,通过设置指定的延时级别就可以让消息实现不同时效的延时功能,今天带大家了解的就是延时消息的原理~ 如何实现延时? 在带大家正式...
Rocket MQ消息中间件
Rocket MQ 背景 至 2010 年,随着阿里业务的快速发展,急需一款支持顺序消息,拥有海量消息堆积能力的消息 Meta Q 1.0 在 2011 年诞生。 到 2012 年, Meta Q 已经发展到了 Meta Q 3.0 ,并抽象...
17.RocketMQ之死信队列
1.5 死信队列 当一条消息初次消费失败,消息队列 RocketMQ 会自动进行消息重试;达到最大重试次数后,若消费依然失败,则表明消费者在正常情况下无法正确地消费该消息,此时,消息队列 RocketMQ...
实现分布式事务的新标杆:RocketMQ的全面解析与应用指南
在分布式系统中,实现事务的一致性和可靠性是一项重要的挑战。本文将详细介绍如何利用 RocketMQ 的半消息机制来实现分布式事务,并提供具体的代码示例和最佳实践。 1. 引言 在分布式系统中,事...
博客专栏 | 深入浅出之透析RocketMQ原理及实战指南
本文正在参加「金石计划 . 瓜分6万现金大奖」 前提概要 大家好,经过了6个月的消失后,终究我还是回来了,带回来了很多干货,接下来第一份礼物干货就是【RocketMQ入门到精通】,但是RocketMQ...
【深入浅出RocketMQ原理及实战】「底层原理挖掘系列」透彻剖析贯穿RocketMQ的消息顺序消费和并发消费机制体系的原理分析
DefaultMQPushConsumerImpl拉取消息 首先,DefaultMQPushConsumerImpl 是一个实现了 RocketMQ 的消费者客户端接口的类。该类的主要作用是从 RocketMQ 的 Broker 获取消息并进行消费。 主要可以...
【深入浅出RocketMQ原理及实战】「底层原理挖掘系列」透彻剖析贯穿RocketMQ的消息消费长轮训机制体系的原理分析
DefaultMQPushConsumer 使用系统控制读取操作的DefaultMQPushConsumer可以自动调用传入的处理方法来处理收到的消息。通过设置各种参数和传入处理消息的函数,使用DefaultMQPushConsumer的主要目...
RocketMQ源码-从4.x到5.x
前言 RocketMQ目前主要分为4.x和5.x版本,本文基于时间线分析一下每个小版本新增的feature,主要目的: 1)对于RocketMQ的发展有个整体的认知,方便之后源码学习; 2)选个合适的版本进行源码学...
MQ系列13:消息大量堆积如何为解决
MQ系列1:消息中间件执行原理MQ系列2:消息中间件的技术选型MQ系列3:RocketMQ 架构分析MQ系列4:NameServer 原理解析MQ系列5:RocketMQ消息的发送模式MQ系列6:消息的消费MQ系列7:消息通信,...