草庐IT

rocketMq

全部标签

RocketMQ基础概念剖析,并分析一下Producer的底层源码

由于篇幅原因,本次的源码分析只限于Producer侧的发送消息的核心逻辑,我会通过流程图、代码注释、文字讲解的方式来对源码进行解释,后续应该会专门开几篇文章来做源码分析。这篇博客聊聊关于RocketMQ相关的东西,主要聊的点有RocketMQ的功能使用、RocketMQ的底层运行原理和部分核心逻辑的源码分析。至于我们为什么要用MQ、使用MQ能够为我们带来哪些好处、MQ在社区有哪些实现、社区的各个MQ的优劣对比等等,我在之前的文章《消息队列杂谈》已经聊过了,如果需要了解的话可以回过头去看看。基础概念Broker首先我们要知道,使用RocketMQ时我们经历了什么。那就是生产者发送一条消息给Roc

RocketMQ基础概念剖析,并分析一下Producer的底层源码

由于篇幅原因,本次的源码分析只限于Producer侧的发送消息的核心逻辑,我会通过流程图、代码注释、文字讲解的方式来对源码进行解释,后续应该会专门开几篇文章来做源码分析。这篇博客聊聊关于RocketMQ相关的东西,主要聊的点有RocketMQ的功能使用、RocketMQ的底层运行原理和部分核心逻辑的源码分析。至于我们为什么要用MQ、使用MQ能够为我们带来哪些好处、MQ在社区有哪些实现、社区的各个MQ的优劣对比等等,我在之前的文章《消息队列杂谈》已经聊过了,如果需要了解的话可以回过头去看看。基础概念Broker首先我们要知道,使用RocketMQ时我们经历了什么。那就是生产者发送一条消息给Roc

RocketMQ基础概念剖析&源码解析

TopicTopic是一类消息的集合,是一种逻辑上的分区。为什么说是逻辑分区呢?因为最终数据是存储到Broker上的,而且为了满足高可用,采用了分布式的存储。这和Kafka中的实现如出一辙,Kafka的Topic也是一种逻辑概念,每个Topic的数据会分成很多份,然后存储在不同的Broker上,这个「份」叫Partition。而在RocketMQ中,Topic的数据也会分布式的存储,这个「份」叫MessageQueue。其分布可以用下图来表示。这样一来,如果某个Broker所在的机器意外宕机,而且刚好MessageQueue中的数据还没有持久化到磁盘,那么该Topic下的这部分消息就会完全丢失

RocketMQ基础概念剖析&源码解析

TopicTopic是一类消息的集合,是一种逻辑上的分区。为什么说是逻辑分区呢?因为最终数据是存储到Broker上的,而且为了满足高可用,采用了分布式的存储。这和Kafka中的实现如出一辙,Kafka的Topic也是一种逻辑概念,每个Topic的数据会分成很多份,然后存储在不同的Broker上,这个「份」叫Partition。而在RocketMQ中,Topic的数据也会分布式的存储,这个「份」叫MessageQueue。其分布可以用下图来表示。这样一来,如果某个Broker所在的机器意外宕机,而且刚好MessageQueue中的数据还没有持久化到磁盘,那么该Topic下的这部分消息就会完全丢失

图文并茂!深入了解RocketMQ的过期删除机制

大家好,我是Leo。今天聊一下RocketMQ的文件过期删除机制本章概括源码定位Broker是RocketMQ的核心,提供了消息的接收,存储,拉取等功能我们可以先从Broker服务入手。从源码可以得知。RocketMQ启用了一个​​BrokerController​​​的​​start​​函数publicstaticvoidmain(String[]args){start(createBrokerController(args));}publicstaticBrokerControllerstart(BrokerControllercontroller){try{controller.star

图文并茂!深入了解RocketMQ的过期删除机制

大家好,我是Leo。今天聊一下RocketMQ的文件过期删除机制本章概括源码定位Broker是RocketMQ的核心,提供了消息的接收,存储,拉取等功能我们可以先从Broker服务入手。从源码可以得知。RocketMQ启用了一个​​BrokerController​​​的​​start​​函数publicstaticvoidmain(String[]args){start(createBrokerController(args));}publicstaticBrokerControllerstart(BrokerControllercontroller){try{controller.star

用RocketMQ这么久,才知道消息可以这样玩

在上一章节中,我们讲解了RocketMQ的基本介绍,作为MQ最重要的就是消息的使用了,今天我们就来带大家如何玩转MQ的消息。消息中间件,英文MessageQueue,简称MQ。它没有标准定义,一般认为:消息中间件属于分布式系统中一个子系统,关注于数据的发送和接收,利用高效可靠的异步消息传递机制对分布式系统中的其余各个子系统进行集成。高效:对于消息的处理处理速度快,RocketMQ可以达到单机10万+的并发。可靠:一般消息中间件都会有消息持久化机制和其他的机制确保消息不丢失。异步:指发送完一个请求,不需要等待返回,随时可以再发送下一个请求,既不需要等待。消息中间件不生产消息,只是消息的搬运工。首

用RocketMQ这么久,才知道消息可以这样玩

在上一章节中,我们讲解了RocketMQ的基本介绍,作为MQ最重要的就是消息的使用了,今天我们就来带大家如何玩转MQ的消息。消息中间件,英文MessageQueue,简称MQ。它没有标准定义,一般认为:消息中间件属于分布式系统中一个子系统,关注于数据的发送和接收,利用高效可靠的异步消息传递机制对分布式系统中的其余各个子系统进行集成。高效:对于消息的处理处理速度快,RocketMQ可以达到单机10万+的并发。可靠:一般消息中间件都会有消息持久化机制和其他的机制确保消息不丢失。异步:指发送完一个请求,不需要等待返回,随时可以再发送下一个请求,既不需要等待。消息中间件不生产消息,只是消息的搬运工。首