消息中间件rocketMq源码解析
文章平均质量分 79
sharedCode
拥有6年开发经验,目前担任某公司的架构师岗位。
展开
-
消息队列 | RocketMq某些队列阻塞不消费
公司小伙伴反馈自己负责的RocketMq集群忽然有两个队列不消费了,消息堆积达到了1万多条,这个肯定不正常。以下是当时的消费组的实际消费情况从上面的图中可以看出来,有两个队列严重阻塞了,好久没有上报过offset了。通过以往自己的经验,一般来说,RocketMq部分队列消费失败,主要有以下三个原因消费者的集群数量有问题,比如之前笔者有写过一篇文章,也是介绍RocketMq部分队列不能正常消费的,有兴趣的可以看看RocketMq 部分队列不能消费问题排查消费者的consumer group乱用,原创 2020-12-03 11:55:22 · 6504 阅读 · 1 评论 -
RocketMq系列之消息重试及死信队列(十)
推荐关注公众号: sharedCode, 在这里可以直接联系我哦。前言上文中我们介绍的客户端普通消息和顺序消息的原理,在消息发送失败的时候会有一个重试的过程,接下来我们来看下消息重试的源码是什么样子的,以及重试到了最后是在什么情况下进入死信队列的sendMessageBackpublic void sendMessageBack(MessageExt msg, int delayLevel, final String brokerName) throws RemotingExce.原创 2020-11-21 09:38:13 · 2146 阅读 · 2 评论 -
RocketMQ系列之Consumer-普通消息(九)
欢迎移步到我的个人博客网站查阅该文章RocketMQ系列之Consumer-普通消息(九)原创 2020-11-17 20:10:19 · 952 阅读 · 1 评论 -
RocketMQ系列之顺序消息原理解析(八)
RocketMQ系列之顺序消息原理解析(八)原创 2020-11-10 09:07:25 · 390 阅读 · 0 评论 -
RocketMQ系列之pull(拉)消息模式(七)
欢迎移驾本人个人博客网站阅读该文章RocketMQ系列之pull(拉)消息模式(七)原创 2020-11-09 11:56:36 · 1340 阅读 · 0 评论 -
RocketMQ系列之push(推)消息模式(六)
欢迎移步到我的个人博客上阅读该文章,谢谢!RocketMQ系列之push(推)消息模式(六)原创 2020-06-06 13:33:24 · 1455 阅读 · 0 评论 -
RocketMq 部分队列不能消费问题排查
欢迎移步到我个人博客网站阅读RocketMq 部分队列不能消费问题排查原创 2020-06-06 13:31:11 · 9574 阅读 · 1 评论 -
RocketMQ系列之Consumer启动(五)
官方示例本文的示例是通过push的方式创建的消费者,push和pull的消费者在启动的流程上源码是差不多的public static void main(String[] args) throws InterruptedException, MQClientException { // 创建一个消费者对象 DefaultMQPushConsumer consumer =...原创 2020-03-20 15:45:29 · 254 阅读 · 2 评论 -
RocketMq系列之Producer顺序消息发送源码分析(四)
有序消息消息有序指的是可以按照消息的发送顺序来消费。RocketMQ可以严格的保证消息有序。但这个顺序,不是全局顺序,只是分区(queue)顺序。顺序消息生产者public static void main(String[] args) throws UnsupportedEncodingException { try { DefaultMQProd...原创 2020-01-06 12:09:20 · 168 阅读 · 0 评论 -
RocketMq系列之Producer顺序消息发送源码分析(四)
有序消息消息有序指的是可以按照消息的发送顺序来消费。RocketMQ可以严格的保证消息有序。但这个顺序,不是全局顺序,只是分区(queue)顺序。顺序消息生产者public static void main(String[] args) throws UnsupportedEncodingException { try { DefaultMQProd...原创 2019-10-10 14:23:14 · 357 阅读 · 0 评论 -
RocketMq系列之Producer普通消息发送(三)
普通消息发送下面是普通消息发送的示例public static void main(String[] args) throws MQClientException, InterruptedException { DefaultMQProducer producer = new DefaultMQProducer("please_rename_unique_group_name"...原创 2019-10-08 17:48:30 · 347 阅读 · 0 评论 -
RocketMq系列之topic路由信息更新(二)
前言本文的主要是为了介绍,在生产者或者消费者启动的时候,需要实例化MqClientInstance,作为负责和borker通信的实例, 在这个里面初始化了很多定时任务,心跳,nameServer地址更新, topic路由信息更新源码入口org.apache.rocketmq.client.impl.factory.MQClientInstancepublic void start() th...原创 2019-09-29 21:36:29 · 1042 阅读 · 0 评论 -
RocketMq系列之Producer启动源码分析(一)
前言笔者写的rokcetMq的源码分析,都是基于4.5.1版本。源码入口下面是一个很简单的服务端启动的两行源码MQProducer producer = new DefaultMQProducer("please_rename_unique_group_name");producer.start();启动源码的逻辑主要集中在start方法里面@Override public...原创 2019-09-21 11:54:59 · 302 阅读 · 2 评论 -
RocketMQ4.0.0单机版配置(试水篇)
前言时隔一年多,博客停更了一年多,这一年多也一直忙着做业务,天天跟产品,测试及其他部门扯皮,每天奔波于各个部门之间,处理一些团队上的事情, 回首再看看,忽然发现技术其实拉下了很多,希望后续可以继续坚持吧。一、安装与配置下载官网:http://rocketmq.apache.org/如:rocketmq-all-4.0.0-incubating-bin-release.zip解压文件之后...原创 2019-09-20 16:35:15 · 370 阅读 · 0 评论