普通程序员为什么要学 MQ 底层技术?| 极客时间

2019 年 7 月 25 日 AI前线

说起消息队列,早期有“上古”的 ActiveMQ,如今有应用广泛的 RocketMQ、Kafka,到最近推出的 Pulsar,伴随着技术的持续发展,一代又一代的消息队列不断推陈出新,性能越来越强大,功能也日臻丰富完善。

消息队列本身功能简洁、结构清晰,入门简单且有足够的深度,作为使用最广泛的中间件,涉及的底层技术非常全面,适合用来深入分析和学习分布式系统等一些复杂的相关技术,让你一通百通。

你可能会问,我是普通程序员, 工作中只会使用消息队列等“轮子”来实现业务,并没有机会参与到“轮子”的开发,学习这些底层的技术知识对我真的有用吗?

当然有用。 消息队列几乎是每个后端程序员都会用到的中间件,它在你的技术栈中重要程度不言而喻。消息的功能很简单,就是收发消息,你肯定可以看一下文档,几分钟就写出一个用消息队列收发消息的 Demo。但是,把消息队列真正应用到生产系统中,就没那么简单了。

在使用消息队列的过程中,你会面临很多实际问题,比如:

  • 选择哪款消息队列更适合你的业务系统?

  • 如何保证系统的高可靠、高可用和高性能?

  • 如何保证消息不重复、不丢失?

  • 如何做到水平扩展?

诸如此类的问题,每一个问题想要解决好,都不太容易。

如果你掌握了消息队列的底层技术,无论使用哪种消息队列产品,你都可以从原理层面来分析问题,再简单看一下它的 API 和相关配置项,就能很快知道该如何配置消息队列,写出高性能并且可靠的程序。

在设计开发中间件系统的过程中,我读了很多优秀开源软件的文档和源代码,从中学习和借鉴了很多优秀的设计思想与编码技巧,也融入了很多自己的思考和创新。这段经历对我而言弥足珍贵,所以我和极客时间合作了 《消息队列高手课》 专栏,希望把我学到和悟到的这些底层、通用、有深度的技术分享给你。

△扫码立即试读或订阅

我是谁?

我是李玥,目前在京东零售技术架构部任架构师,从事互联网研发、架构十余年。 最近几年,我一直从事 PaaS 层基础中间件产品的设计和开发相关工作。2018 年,作为首席架构师,我和我的团队一起重构了京东自研的消息队列产品:JMQ(即将开源)。我们在京东实现了超过 2000 个节点的超大规模集群部署,经过 2018 年“11.11”和 2019 年“618”两次大促的实战考验,JMQ 很好地承载了大促期间超过万亿的流量洪峰。

在这个专栏中,我将带大家拿着“显微镜”分析这些开源消息队列的源码,让你具备从源码角度分析和解决实际业务问题的能力,并且借由消息队列的底层技术,带你了解其优秀的设计思想,理解各种“轮子”的实现原理,提升你的编程能力。

你将获得

在《消息队列高手课》专栏中,我将从 基础、进阶、案例 三个部分来讲。

1. 基础篇

以讲解消息队列的使用方法和最佳实践为主,包括消息队列基础知识、技术选型、高级功能等,给出消息队列应用过程中常见问题的解决策略。

2. 进阶篇

深入到源码中去,探讨消息队列的实现原理,拓展知识深度。在这个模块的前半部分,每篇对异步模型、高性能的底层网络通信等知识点进行探讨,这些知识点不仅是中间件开发人员必须掌握的,而且是各大厂面试题中的常考内容。后半部分每篇会选择一个开源的消息队列,针对一个功能特性,讲解它的实现原理,以及源代码中优秀的设计思想和好的编程技巧。

3. 案例篇

应用前两个模块学到的知识,一起做两个微型项目,体验实际的代码开发。第一个微项目,用消息队列和流计算框架来实现一个流计算任务;第二个微项目,实现一个最简单的 RPC 框架,因为开发中间件用到的很多技术都是互通的,开发消息队列的技术同样可以用于开发 RPC 框架。

限时订阅福利
  1. 限时优惠 ¥68,原价 ¥99。

  2. 分享海报,邀请好友订阅即可获得 ¥24 返现,多邀多得,上不封顶。

△扫码立即试读或订阅

点击「阅读原文」,免费试读

登录查看更多
0

相关内容

【2020新书】使用高级C# 提升你的编程技能,412页pdf
专知会员服务
57+阅读 · 2020年6月26日
干净的数据:数据清洗入门与实践,204页pdf
专知会员服务
161+阅读 · 2020年5月14日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
117+阅读 · 2020年5月10日
【2020新书】如何认真写好的代码和软件,318页pdf
专知会员服务
63+阅读 · 2020年3月26日
《代码整洁之道》:5大基本要点
专知会员服务
49+阅读 · 2020年3月3日
在K8S上运行Kafka合适吗?会遇到哪些陷阱?
DBAplus社群
9+阅读 · 2019年9月4日
职人沙龙 | 走进小打卡,小程序技术实战交流
如何快速入门TensorFlow ?丨极客时间
InfoQ
4+阅读 · 2019年1月8日
年薪48万的程序员,他究竟做对了什么?
机器学习算法与Python学习
7+阅读 · 2018年12月28日
十五条有用的Golang编程经验
CSDN大数据
5+阅读 · 2017年8月7日
今日头条推荐系统架构演进之路
QCon
32+阅读 · 2017年6月21日
Self-Attention Graph Pooling
Arxiv
13+阅读 · 2019年6月13日
Music Transformer
Arxiv
5+阅读 · 2018年12月12日
Arxiv
6+阅读 · 2018年8月27日
Arxiv
6+阅读 · 2018年4月21日
Arxiv
11+阅读 · 2018年1月18日
VIP会员
相关VIP内容
相关资讯
在K8S上运行Kafka合适吗?会遇到哪些陷阱?
DBAplus社群
9+阅读 · 2019年9月4日
职人沙龙 | 走进小打卡,小程序技术实战交流
如何快速入门TensorFlow ?丨极客时间
InfoQ
4+阅读 · 2019年1月8日
年薪48万的程序员,他究竟做对了什么?
机器学习算法与Python学习
7+阅读 · 2018年12月28日
十五条有用的Golang编程经验
CSDN大数据
5+阅读 · 2017年8月7日
今日头条推荐系统架构演进之路
QCon
32+阅读 · 2017年6月21日
相关论文
Top
微信扫码咨询专知VIP会员