描述
消息队列中间件的使用并不复杂,但如果你对消息队列不熟悉,很难构建出健壮、稳定并且高性能的企业级系统,你会面临很多实际问题:
- 如何选择最适合系统的消息队列产品?
- 如何保证消息不重复、不丢失?
- 如何做到水平扩展?
如果你掌握了消息队列的底层技术,无论使用哪种消息队列产品,你都可以从原理层面来分析问题,再简单看一下它的 API 和相关配置项,就能很快知道该如何配置消息队列,写出高性能并且可靠的程序。
李玥,京东零售技术架构部资深架构师,负责主导设计新一代京东消息队列产品:JMQ。李玥从事互联网研发、架构十余年,在流数据的一致性分发和可靠存储,分布式实时计算、高可用分布式系统架构等技术领域有丰厚经验。
在这个专栏中,李玥将从源码的角度带你了解消息队列,让你具备从源码角度分析和解决实际业务问题的能力,并且借由消息队列的底层技术,带你了解其优秀的设计思想,理解各种“轮子”的实现原理,提升你的编程能力。
此外,消息队列本身功能简洁、结构清晰,入门简单且有足够的深度,作为使用最广泛的中间件,涉及的底层技术非常全面,非常适合用来深入分析和学习分布式系统等一些复杂的相关技术,让你一通百通。
专栏模块
专栏共 35 讲,分为 3 大模块。
基础篇,以讲解消息队列的使用方法和最佳实践为主,包括消息队列基础知识、技术选型、高级功能等,给出消息队列应用过程中常见问题的解决策略。
进阶篇,深入到源码中去,探讨消息队列的实现原理,拓展知识深度。在这个模块的前半部分,每篇对异步模型、高性能的底层网络通信等知识点进行探讨,这些知识点不仅是中间件开发人员必须掌握的,而且是各大厂面试题中的常考内容。后半部分每篇会选择一个开源的消息队列,针对一个功能特性,讲解它的实现原理,以及源代码中优秀的设计思想和好的编程技巧。
案例篇,应用前两个模块学到的知识,一起做两个微型项目,体验实际的代码开发。第一个微项目,用消息队列和流计算框架来实现一个流计算任务;第二个微项目,实现一个最简单的 RPC 框架,因为开发中间件用到的很多技术都是互通的,开发消息队列的技术同样可以用于开发 RPC 框架。