Rocketmq
文章平均质量分 83
服务端技术栈
傻傻的程序员。。爱技术,爱研究,学习技术永无止尽。
展开
-
分布式消息队列基础知识
本文主要整理消息队列的一些基本概念,为后面的Rocketmq消息队列组件深入学习打下基础。一、什么是消息队列?维基百科介绍:消息队列(Message Queue)是一种进程间通信或同一进程的不同线程间的通信方式。根据这个定义可知,消息队列主要有两类:一类是内存中的消息队列,比如在Java语言中就包括ArrayBlockingQueue,LinkedBlockingQueue等等。他们主要是为应用中的线程通信方式。另外一类是分布式消息队列,比如常见的有kafka,ribbimq,rock.原创 2021-07-11 22:26:08 · 2619 阅读 · 0 评论 -
面试常问Rocketmq延迟消息原理
延迟消息在业务场景中使用的非常多,订单失效,过期通知等功能都可以借助延迟消息机制来实现。本文将从源码层面来分析Rocketmq的延迟消息实现原理机制。一、延迟消息的使用 先看下延迟消息的使用,发送消息逻辑和普通消息一样,只要在生产者端将Message对象中设置延迟消息的等级,Rocketmq的开源版本支持18个等级,每个等级代表一个延迟时间。Rocketmq有18个延迟等级分别对应如下延迟时间,最小1s,最大2h,客户端从等级从1...原创 2021-08-21 22:53:41 · 6660 阅读 · 0 评论 -
Rocketmq常见问题与阶段性总结
Rocketmq阶段性总结与面试常问问题原创 2022-01-15 12:58:01 · 2064 阅读 · 0 评论 -
Rocketmq消费者负载均衡与消费队列重平衡原理
Rocketmq消费队列负载均衡以及重平衡机制原理分析原创 2022-01-15 12:56:25 · 1282 阅读 · 0 评论 -
Rocketmq消费消息原理
在消息系统中,消费者消费消息有拉和推消息两种实现方式,拉消息是消费者主动向消息服务器发送拉消息请求,消息服务器将消息返回给消费者,而推消息是消息服务器主动向消费者推送消息的形式,这两种消息消费实现各有各的优势和劣势。 Rocketmq中采用长轮训的机制来实现消息消费功能。长轮训模式兼顾了拉和推消息的优势。从整体看下org.apache.rocketmq.client.consumer.DefaultMQPushConsumer消费者实现类在消费客户端的启动流程。...原创 2021-09-10 23:22:10 · 1564 阅读 · 0 评论 -
Rocketmq发送消息原理(含事务消息)
在消息队列中,生产者负责发送消息到broker,本文讲解Rocketmq发送消息的实现原理以及一些注意的事项。一、生产者端的发送流程大致步骤1、根据topic从nameserver或本地获取路由信息,队列信息,broker信息等2、根据重试次数,循环发送消息3、消息内容组装成RemotingCommand对象,包括请求头和请求体4、分oneway,sync,async的方式进行发送5、如果是async,oneway会获取令牌再发送6、组装请求头,调用netty组件发送消息原创 2021-07-25 18:45:38 · 1177 阅读 · 0 评论 -
Rocketmq的整体认识
上文已经介绍了分布式消息队列的常见概念,从本文开始,将分多篇文章逐步对Rocketmq这款分布式消息队列的架构,功能,以及不同功能的源码实现原理进行分析。本文主要是介绍Rocketmq的功能,架构,加深对rocketmq的认识。Rocketmq是什么?Rocketmq是由阿里巴巴2012年开源的分布式消息中间件,现在已经是apache顶级项目。他是一个队列模型的消息中间件,具有高性能、高可靠、高实时、分布式特点。它借鉴了kafka的实现,在kafka基础上丰富了更...原创 2021-07-18 21:08:29 · 227 阅读 · 1 评论