RocketMQ原理学习
文章平均质量分 68
军伟@
Java开发工程师
展开
-
RocketMQ原理学习--死信消息实现原理
上一篇博客《RocketMQ原理学习--失败消息实现原理》中我们了解到RocketMQ对于失败消息的处理原理,当消息一直失败的情况下RocketMQ是如何处理的,这篇博客我们通过分析源码简单了解一下。 RocketMQ对于失败次数超过16次的消息设置为死信消息,消息最终被放到DLQ死信队列中,需要人工进行干预处理。处理代码还是在SendMessageProcess...原创 2018-12-16 20:42:06 · 4901 阅读 · 2 评论 -
RocketMQ原理学习--失败消息实现原理
上一篇博客《 RocketMQ原理学习--延时消息实现原理》我们介绍了延时消息的实现原理,这篇博客我们看看RocketMQ在消费者消息消费失败的情况下是如何处理的。 正常情况下消费者在消息消费失败时会马上重新消费消息,正常情况下再次消费应该会将消息消费完成的,但是当一次消费消费不成功时我们可以设置让Broker延时一段时间再重新投递消息,是不是看到这就发现和延时消...原创 2018-12-15 13:36:33 · 1397 阅读 · 0 评论 -
RocketMQ原理学习--延时消息实现原理
RocketMQ提供了延时消息类型,简单来说就是生产者在发送消息的时候指定一个延时时间,当到达延时时间之后消息才能够被投送到消费者。 首先我们可以考虑一下RocketMQ的延时消息是如何实现:(1)生产者将延时消息发送到Broker,Broker是如何区分普通消息和延时消息(消息类型)(2)消息如何保证不被消费者拉取到的(RocketMQ将消息以SCHEDU...原创 2018-12-15 12:54:41 · 10770 阅读 · 6 评论 -
RocketMQ原理学习-- Name Server
Name Server作为RocketMQ的一个组件,其作用就是一个注册中心,用于管理Broker相关的一些信息,生产者和消费者可以从Name Server中获取Broker中相关的Topic信息等,Name Server可以单台部署也可以多台部署,相互之间不存在联系。Name Server主要有以下两个功能:维护一份Broker信息(集群名称、Broker名称及相关地址信息...原创 2018-12-01 13:23:42 · 1195 阅读 · 0 评论 -
RocketMQ原理学习--消息类型
一、集群消息与广播消息集群消费:当使用集群消费模式时,MQ 认为任意一条消息只需要被集群内的任意一个消费者处理即可。广播消费:当使用广播消费模式时,MQ 会将每条消息推送给集群内所有注册过的客户端,保证消息至少被每台机器消费一次。集群消费模式:适用场景&注意事项消费端集群化部署,每条消息只需要被处理一次。 由于消费进度在服务端维护,可靠性更高。 集群消费模式下,每...原创 2018-11-27 22:33:21 · 1664 阅读 · 6 评论 -
RocketMQ原理学习--消费者消费消息
在之前的一篇博客《RocketMQ原理学习--消息类型》中我们有介绍过RocketMQ的消息类型,这篇博客我们简单介绍一下RocketMQ消费者是如何消费消息的。一、Pull or Push 简单来说RocketMQ给我们提供了两种消息消费方式,Pull模式和Push模式,简单理解我们可能会认为Pull模式是消费者主动去拉取消息,Push模式是RocketMQ...原创 2018-12-31 15:08:46 · 4663 阅读 · 1 评论 -
RocketMQ原理学习---生产者事物消息发送
上一篇博客《RocketMQ原理学习---生产者普通消息发送》我们已经对生产者发送普通消息有了简单的了解,这篇博客我们来学习一下RocketMQ在发送事物消息时做了什么处理操作。一、生产者发送消息 RocketMQ通过实现2PC协议来实现分布式事物,RocketMQ事物消息发送与消费流程图:接下来我们通过源码看看RocketMQ生产者在发送事物消息的时候...原创 2018-12-04 21:45:36 · 1404 阅读 · 0 评论 -
RocketMQ原理学习---Broker消息接收处理
上一篇博客《RocketMQ原理学习---Producer消息发送》中我们简单了解了RocketMQ生产者消息发送的过程,接下来我们看看Broker是如何处理接收到的消息。 RocketMQ的Broker接收消息涉及到很多操作,首先我们需要对RocketMQ所保存的消息文件目录及文件有所了解,RocketMQ消息数据保存目录及文件名如下:介绍:(1)c...原创 2018-12-08 14:10:46 · 3969 阅读 · 2 评论 -
RocketMQ原理学习--RocketMQ整体架构窥探
RocketMQ总体架构图:RocketMQ简单架构角色简介:1、Name Server:简单可以理解为注册中心,Broker相关信息会注册到Name Server集群中,维护Broker及Broker中相关Topic信息,这样生产者和消费者就可以从Name Server中定时(30秒)获取相关Broker信息。2、Broker:集群最核心模块,主要负责Topic消息存储、消费...原创 2018-11-28 22:05:35 · 3003 阅读 · 3 评论 -
RocketMQ原理学习--RocketMQ源码运行
最近打算对RocketMQ相关的知识和源码进行学习一下,首先能把源码导入及运行能比较方便我们通过跟踪源码进行相关知识学习。一、工程导入git地址:https://github.com/apache/rocketmq.git直接以maven工程的形式导入到IDEA中即可二、运行配置运行RocketMQ的namesrv和broker需要进行一些运行环境配置1、nam...原创 2018-11-25 20:48:00 · 2488 阅读 · 0 评论 -
RocketMQ原理学习---生产者普通消息发送
上一篇博客RocketMQ原理学习-- Name Server中我们介绍了Name Server提供的相关功能,这篇博客我们来介绍一下生产者消息发送相关的内容。消息发送示例:public class Producer { public static void main(String[] args) throws MQClientException, Interr...原创 2018-12-02 15:08:03 · 1813 阅读 · 0 评论 -
RocketMQ原理学习--索引
1、RocketMQ原理学习--RocketMQ源码运行 2、RocketMQ原理学习--RocketMQ整体架构窥探 3、RocketMQ原理学习--消息类型 4、RocketMQ原理学习-- Name Server 5、RocketMQ原理学习---生产者普通消息发送 6、RocketMQ原理学习---生产者事物消息发送 7、RocketM...原创 2019-01-04 13:59:23 · 1546 阅读 · 3 评论