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

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 的相关知识点,提升他们的技术认知。

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

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

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

相关推荐
2401_857610031 小时前
SpringBoot社团管理:安全与维护
spring boot·后端·安全
凌冰_2 小时前
IDEA2023 SpringBoot整合MyBatis(三)
spring boot·后端·mybatis
码农飞飞2 小时前
深入理解Rust的模式匹配
开发语言·后端·rust·模式匹配·解构·结构体和枚举
一个小坑货2 小时前
Rust 的简介
开发语言·后端·rust
monkey_meng3 小时前
【遵守孤儿规则的External trait pattern】
开发语言·后端·rust
Estar.Lee3 小时前
时间操作[计算时间差]免费API接口教程
android·网络·后端·网络协议·tcp/ip
新知图书4 小时前
Rust编程与项目实战-模块std::thread(之一)
开发语言·后端·rust
盛夏绽放4 小时前
Node.js 和 Socket.IO 实现实时通信
前端·后端·websocket·node.js
Ares-Wang4 小时前
Asp.net Core Hosted Service(托管服务) Timer (定时任务)
后端·asp.net
uzong5 小时前
7 年 Java 后端,面试过程踩过的坑,我就不藏着了
java·后端·面试