性能文章>1024 程序员节,圆一个小小的梦>

1024 程序员节,圆一个小小的梦原创

205000

640.jpeg

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 :

  1. 直播答题:RocketMQ 广播模式推送题目 ;
  2. 参考阿里云 ONS 封装 RocketMQ 框架 ;
  3. 使用 RocketMQ 通讯框架实现任务调度系统 ;
  4. 使用 RocketMQ 作为短信平台的基座 ;
  5. 重构 RocketMQ 控制台支持多集群 。

通过 RocketMQ ,我学习到了很多的编程知识,比如多线程技巧、网络编程 、文件存储,同时面对各种技术问题处理起来也更加从容和自信。

缓存、分库分表、消息队列是高并发解决方案三剑客,是架构师必须掌握的知识点。

我写这本电子书,是想帮助后端工程师快速掌握 RocketMQ 的相关知识点,提升他们的技术认知。

假如朋友们能通过这本电子书,快速成长,那将是一件令我非常快乐的事情。

因为我自己的能力有限,书中肯定存在纰漏和错误之处,欢迎沟通指正,非常感谢 :)

微信搜索「勇哥java实战分享」关注后,在后台回复「mq」即可获取《RocketMQ 4.X 设计精要》pdf 。

点赞收藏
分类:标签:
勇哥Java实战

公众号:勇哥Java实战 网站:https://javayong.cn

请先登录,感受更多精彩内容
快去登录吧,你将获得
  • 浏览更多精彩评论
  • 和开发者讨论交流,共同进步

为你推荐

解锁 ElasticJob 云原生实践的难题

解锁 ElasticJob 云原生实践的难题

【云原生•监控】Micrometer打造SpringBoot服务的可观测能力

【云原生•监控】Micrometer打造SpringBoot服务的可观测能力

一文讲透消息队列RocketMQ实现消费幂等

一文讲透消息队列RocketMQ实现消费幂等

一次 Rancher go 应用内存占用过高问题排查

一次 Rancher go 应用内存占用过高问题排查

0
0