文档章节

消息中间件 为什么阅读 RocketMQ 源码?

芋道源码
 芋道源码
发布于 2017/07/22 22:31
字数 365
阅读 93
收藏 2
点赞 1
评论 2

🙂🙂🙂关注**微信公众号:【芋艿的后端小屋】**有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言将得到认真回复。甚至不知道如何读源码也可以请教噢
  4. 新的源码解析文章实时收到通知。每周更新一篇左右

为什么阅读RocketMQ源码?

  • 深入了解 MQ ,知其然知其所以然,如何实现高性能、高可用
  • 最终一致行,是如何通过 MQ 进行实现
  • 了解 Netty 在分布式中间件如何实现网络通信以及各种异常场景的处理
  • 了解 MQ 消息存储,特别是磁盘 IO 部分
  • 最重要的,希望通过阅读源码,在技术上的认知和能力上,有新的突破

步骤

  • [ ] namesrv 启动
  • [ ] broker 启动
  • [ ] producer 启动
  • [ ] consumer 启动
  • [ ] 消息模型
    • [ ] 消息唯一编号
  • [x] producer 发消息
  • [x] broker 收消息
  • [x] broker 发消息
  • [x] consumer 收消息
    • [x] 多消费者
    • [x] 重试消息
  • [x] consumer 消息确认
  • [x] consumer 负载均衡
  • [x] broker 队列模型
  • [x] broker store 消息存储
  • [x] 顺序消息
  • [x] 事务消息
  • [x] 定时(延迟)消息
  • [x] pub/sub模型
  • [x] namesrv 集群
  • [x] broker 主从
  • [x] filtersrv 过滤消息
  • [ ] remoting 调用(server、client)
  • [ ] 跨机房
  • [ ] Hook 机制
  • [ ] Tool-Admin
  • [ ] Tool-Command
  • [ ] Tool-Monitor
  • [ ] broker 主备切换

© 著作权归作者所有

共有 人打赏支持
芋道源码

芋道源码

粉丝 249
博文 71
码字总数 191189
作品 0
徐汇
后端工程师
加载中

评论(2)

芋道源码
芋道源码

引用来自“细肉云吞”的评论

打叉叉的是什么意思?
打叉叉的意思是研究完了。。。不同的 markdown 渲染有差异~
细肉云吞
细肉云吞
打叉叉的是什么意思?
RocketMQ(八):消息发送

匠心零度 转载请注明原创出处,谢谢! RocketMQ网络部署图 NameServer:在系统中是做命名服务,更新和发现 broker服务。 Broker-Master:broker 消息主机服务器。 Broker-Slave: broker 消息...

匠心零度 ⋅ 06/19 ⋅ 0

让你rocketmq用得比预期要好的 1 种方法

匠心零度 转载请注明原创出处,谢谢! 方法 让你rocketmq用得比预期要好的 1 种方法:就是认真思考下面的几个问题: 使用rocketmq能解决那些问题?那些问题是不能解决的? 我们什么时候该添加...

匠心零度 ⋅ 04/19 ⋅ 0

Kafka vs RocketMQ—— Topic数量对单机性能的影响

引言 上一期我们对比了三类消息产品(Kafka、RabbitMQ、RocketMQ)单纯发送小消息的性能,受到了程序猿们的广泛关注,其中大家对这种单纯的发送场景感到并不过瘾,因为没有任何一个网站的业务只...

a137268431 ⋅ 04/15 ⋅ 0

《Apache RocketMQ用户指南》官方文档

RocketMQ–导读 原文链接 译者:小村长 最近两个项目中用到了RocketMQ消息中间件,每次都是在网上找几个Demo,而没有去看它的官方文档。年前面试某大型互联网企业。RocketMQ多有提及。今借此...

小村长 ⋅ 01/23 ⋅ 0

RocketMQ部分数据消费不了问题排查

问题现象 今天忽然收到RocketMQ预警信息如下: 提醒有部分数据没有消费,产生堆积情况。 打开RocketMq-Console-Ng查看如下图形式: 备注:第一反应是Consumer Group内订阅了多个topic?(为什...

匠心零度 ⋅ 05/14 ⋅ 0

RocketMQ(九):消息发送(续)

匠心零度 转载请注明原创出处,谢谢! RocketMQ网络部署图 NameServer:在系统中是做命名服务,更新和发现 broker服务。 Broker-Master:broker 消息主机服务器。 Broker-Slave: broker 消息...

匠心零度 ⋅ 06/23 ⋅ 0

linux下RocketMQ的安装

下载和构建 从 https://www.apache.org/dyn/closer.cgi?path=rocketmq/4.2.0/rocketmq-all-4.2.0-source-release.zip 下载 4.2.0 的源码版本,执行以下命令来解压4.2.0源码版本并构建二进制文...

yushiwh ⋅ 05/21 ⋅ 0

《Apache RocketMQ用户指南》之批量消息示例

批量消息示例 原文链接 译者:小村长 为什么选择批量消息? 批量发送消息可提高单次发送消息的性能. 使用限制 相同批次的消息应具有:相同的主题,相同的等待消息处理成功但是不支持定时处理....

小村长 ⋅ 01/23 ⋅ 0

爬虫架构 | 消息队列应用场景及ActiveMQ、RabbitMQ、RocketMQ、Kafka对比

前言:在之前的业务中,使用了Kafka和RabbitMQ两种消息队列,这篇文章来做一个总结。 消息队列中间件是分布式系统中重要的组件,主要实现异步消息,应用解耦,流量削峰及消息通讯等功能。 下...

小怪聊职场 ⋅ 04/26 ⋅ 0

RocketMQ原理(4)——消息ACK机制及消费进度管理

https://zhuanlan.zhihu.com/p/25140744 中剖析过,consumer的每个实例是靠队列分配来决定如何消费消息的。那么消费进度具体是如何管理的,又是如何保证消息成功消费的(RocketMQ有保证消息肯...

xiaomin0322 ⋅ 04/14 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

mysql5.7系列修改root默认密码

操作系统为centos7 64 1、修改 /etc/my.cnf,在 [mysqld] 小节下添加一行:skip-grant-tables=1 这一行配置让 mysqld 启动时不对密码进行验证 2、重启 mysqld 服务:systemctl restart mysql...

sskill ⋅ 昨天 ⋅ 0

Intellij IDEA神器常用技巧六-Debug详解

在调试代码的时候,你的项目得debug模式启动,也就是点那个绿色的甲虫启动服务器,然后,就可以在代码里面断点调试啦。下面不要在意,这个快捷键具体是啥,因为,这个keymap是可以自己配置的...

Mkeeper ⋅ 昨天 ⋅ 0

zip压缩工具、tar打包、打包并压缩

zip 支持压缩目录 1.在/tmp/目录下创建目录(study_zip)及文件 root@yolks1 study_zip]# !treetree 11└── 2 └── 3 └── test_zip.txt2 directories, 1 file 2.yum...

蛋黄Yolks ⋅ 昨天 ⋅ 0

聊聊HystrixThreadPool

序 本文主要研究一下HystrixThreadPool HystrixThreadPool hystrix-core-1.5.12-sources.jar!/com/netflix/hystrix/HystrixThreadPool.java /** * ThreadPool used to executed {@link Hys......

go4it ⋅ 昨天 ⋅ 0

容器之上传镜像到Docker hub

Docker hub在国内可以访问,首先要创建一个账号,这个后面会用到,我是用126邮箱注册的。 1. docker login List-1 Username不能使用你注册的邮箱,要用使用注册时用的username;要输入密码 ...

汉斯-冯-拉特 ⋅ 昨天 ⋅ 0

SpringBoot简单使用ehcache

1,SpringBoot版本 2.0.3.RELEASE ①,pom.xml <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.0.3.RELE......

暗中观察 ⋅ 昨天 ⋅ 0

监控各项服务

比如有三个服务, 为了减少故障时间,增加监控任务,使用linux的 crontab 实现. 步骤: 1,每个服务写一个ping接口 监控如下内容: 1,HouseServer 是否正常运行,所以需要增加一个ping的接口 ; http...

黄威 ⋅ 昨天 ⋅ 0

Spring源码解析(八)——实例创建(下)

前言 来到实例创建的最后一节,前面已经将一个实例通过不同方式(工厂方法、构造器注入、默认构造器)给创建出来了,下面我们要对创建出来的实例进行一些“加工”处理。 源码解读 回顾下之前...

MarvelCode ⋅ 昨天 ⋅ 0

nodejs __proto__跟prototype

前言 nodejs中完全没有class的这个概念,这点跟PHP,JAVA等面向对象的语言很不一样,没有class跟object的区分,那么nodejs是怎么样实现继承的呢? 对象 对象是由属性跟方法组成的一个东西,就...

Ai5tbb ⋅ 昨天 ⋅ 0

Ubuntu16.04 PHP7.0 不能用MYSQLi方式连接MySQL5.7数据库

Q: Ubuntu16.04 PHP7.0 不能用MYSQLi方式连接MySQL5.7数据库 A: 执行以下2条命令解决: apt-get install php-mysql service apache2 restart php -m 执行后会多以下4个模块: mysqli mysqlnd...

SamXIAO ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部