文档章节

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

芋道源码
 芋道源码
发布于 2017/07/22 22:31
字数 365
阅读 100
收藏 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 主备切换

© 著作权归作者所有

共有 人打赏支持
芋道源码

芋道源码

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

评论(2)

芋道源码
芋道源码

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

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

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

匠心零度
06/19
0
0
让你rocketmq用得比预期要好的 1 种方法

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

匠心零度
04/19
0
0
消息中间件—RocketMQ消息消费(一)

文章摘要:在发送消息给RocketMQ后,消费者需要消费。消息的消费比发送要复杂一些,那么RocketMQ是如何来做的呢? 在RocketMQ系列文章的前面几篇幅中已经对其“RPC通信部分”和“普通消息发送...

癫狂侠
08/12
0
0
消息中间件—RocketMQ的RPC通信(一)

文章摘要:借用小厮的一句话“消息队列的本质在于消息的发送、存储和接收”。那么,对于一款消息队列来说,如何做到消息的高效发送与接收是重点和关键 一、RocketMQ中Remoting通信模块概览 ...

癫狂侠
06/30
0
0
分布式消息中间件 RocketMQ:概述与源码编译篇

一、前言 Apache RocketMQ 是一个分布式消息中间件,其具有低延迟、高性能和可靠性、万亿级容量、灵活的可扩展性特性;它是阿里巴巴在2012年开源的分布式消息中间件,目前已经捐赠给 Apache...

阿里加多
07/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

es6

在实际开发中,我们有时需要知道对象的所有属性,原生js给我们提供了一个很好的方法:Object.keys(),该方法返回一个数组 传入对象,返回属性名 var obj = {'a':'123','b':'345'};console.l...

不负好时光
22分钟前
0
0
叮!您收到一份超值Java基础入门资料!

摘要:Java语言有什么特点?如何最大效率的学习?深浅拷贝到底有何区别?阿里巴巴高级开发工程师为大家带来Java系统解读,带你掌握Java技术要领,突破重点难点,入门面向对象编程,以详细示例...

全部原谅
24分钟前
0
0
web.xml容器加载顺序

容器对于web.xml的加载过程是context-param >> listener >> fileter >> servlet

Aeroever
26分钟前
1
0
Docker容器日志查看与清理

1. 问题 docker容器日志导致主机磁盘空间满了。docker logs -f container_name噼里啪啦一大堆,很占用空间,不用的日志可以清理掉了。 2. 解决方法 2.1 找出Docker容器日志 在linux上,容器日...

muzi1994
27分钟前
0
0
J2Cache 和普通缓存框架有何不同,它解决了什么问题?

不少人看到 J2Cache 第一眼时,会认为这就是一个普普通通的缓存框架,和例如 Ehcache、Caffeine 、Spring Cache 之类的项目没什么区别,无非是造了一个新的轮子而已。事实上完全不是一回事!...

红薯
29分钟前
484
14

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部