Hope is a good thing, maybe the best of things, and no good thing ever dies.
希望是件美丽的东西,也许是最好的东西,而美好的东西是永远不会消逝的。
大家好,我是勇哥 。
1024 , 程序员节,圆了我一个小小的梦。
花了半年时间,我写了一本电子书 ,书名是:《RocketMQ4.X设计精要》,我想在今天分享给各位。
这本书一共包含十五章,接近 10 万字,180 张图,按照 RocketMQ 的知识体系一章一章展开。
很多年前,一位七牛的资深架构师曾经说过这样一句话:
Nginx+ 业务逻辑层 + 数据库 + 缓存层 + 消息队列 ,这种模型几乎能适配绝大部分的业务场景 。
这么多年过去了,这句话或深或浅地影响了我的技术选择,以至于后来我花了很多时间去重点学习缓存、消息队列相关的技术。
2014年,是我和 RocketMQ 结缘的一年。
我那时服务于艺龙旅行网,深感自己能力的欠缺,我非常想学习消息队列的知识,但当时互联网上开源的消息队列并不能让我满意。
读了子柳老师的《淘宝技术这十年》后,我搜罗了很多淘宝消息队列的资料,我知道MetaQ 的版本已经升级 MetaQ 3.0,只是开源版本还没有放出来。
2014 年秋 ,当 RocketMQ 开源出来之后 ,我兴奋异常,迫不及待的一睹其风采,至今我都能记得当时内心的雀跃。
我想学网络编程,RocketMQ 的通讯模块 remoting 底层也是 Netty 写的。我学习切入点是 RocketMQ 的通讯模块。
首先我模仿 RocketMQ 的通讯模块写了一个玩具的rpc
,在 IDEA 中丝滑打印生产者/消费者的日志,感觉自己充满了能量。
不久之后,艺龙举办技术创新活动,我想想,要不尝试一下用 Netty 改写下 Cobar
的通讯模块。
于是参考 Cobar
的源码花了两周写了个 netty 版的 proxy
,其实非常粗糙,很多功能不完善。只是没有想到,活动颁给我一个鼓励奖,现在想想既有趣又有点激励。
这就是我学习 RocketMQ 的起点,一个非常美好的起点。
在接下来的职业生涯中 ,我不断在业务中使用 RocketMQ :
- 直播答题:RocketMQ 广播模式推送题目 ;
- 参考阿里云 ONS 封装 RocketMQ 框架 ;
- 使用 RocketMQ 通讯框架实现任务调度系统 ;
- 使用 RocketMQ 作为短信平台的基座 ;
- 重构 RocketMQ 控制台支持多集群 。
通过 RocketMQ ,我学习到了很多的编程知识,比如多线程技巧、网络编程 、文件存储,同时面对各种技术问题处理起来也更加从容和自信。
缓存、分库分表、消息队列是高并发解决方案三剑客,是架构师必须掌握的知识点。
我写这本电子书,是想帮助后端工程师快速掌握 RocketMQ 的相关知识点,提升他们的技术认知。
假如朋友们能通过这本电子书,快速成长,那将是一件令我非常快乐的事情。
因为我自己的能力有限,书中肯定存在纰漏和错误之处,欢迎沟通指正,非常感谢 :)
搜索gzh「勇哥java实战分享」关注后,在后台回复「mq」即可获取《RocketMQ 4.X 设计精要》pdf 。