前几天有读者留言说,面试的时候怎么也没想到能会折在中间件上。人家问了他一个“什么是MQ 中的消息重复?”,结果他只能回答出一种或两种情况,但实际共有 8 种情况。不过这也情有可原,听过中间件的人不少,但因为其承接的都是大体量高并发的需求场景,普通小厂的人是很难有接触相关项目的机会,也自然导致实际了解和掌握的人少之又少。 但它也确实没那么神秘,每年的 618 和双十一爆单期的高并发都离不开中间件的支持,就拿消息中间件 RocketMQ 来说,已经伴随了阿里双十一 7 年了。另外,腾讯也在几年前就宣布开源了消息中间件 TubeMQ。 可以这么说,拿下中间件,就已经拿到了一半的大厂门票。 当然,除了能用于应对高并发、进大厂,中间件还能很好地提升你我的工作效率:几乎每一种分布式系统都有一种乃至几种中间件在系统中发挥作用,光一个服务层就有不下十个,只要你能运用自如,就不愁效率提不上去。 不过从我这些年的经历来看,我认为中间件最重要的是能防患于未然。记得某出行公司员工使用中间件时出现错误,导致大量用户无法开锁和归还车辆,不仅为公司造成了经济损失,还降低了用户的满意度,这都是无法挽回的。 那么我们应该如何学习中间件?中间件想要都熟练掌握,也有一定难度,你可以先掌握主流的几款,深入了解底层设计理念,既而融会贯通。 这里,推荐给你丁威的《中间件核心技术与实战》专栏,通过全链路综合案例和实际场景,让你全方位掌握中间件的使用方法,并搞懂底层的设计理念,此外还会为你梳理实用的选型方案。总的来说,用场景+方案+代码的方式,为你提供一份中间件进阶指南。 作者丁威,中通快递技术平台部资深架构师,消息队列领域技术专家,Apache RocketMQ社区首席布道师,拥有十余年的从业经验,现主要负责消息中间件、数据同步、缓存、全链路压测等产品的开发与运维工作。著有书籍《RocketMQ 技术内幕》。
他是如何讲解中间件的?
课程共分为四个模块: 第一模块是全局认知篇,他会介绍中间件在互联网分布式架构体系中的整体面貌,并重点对数据库中间件、缓存中间件的发展和选型依据做详细的介绍,帮助你更快掌握技术架构的发展方向,合理选择中间件。 第二模块是基础篇,他会介绍学习中间件必备的基础知识,并通过图解的方式,让你充分理解技术背后的设计理念,做到一通百通。 第三个模块是实战篇,带你从理论到实践,解决实际生产中遇到的问题。主要分为微服务体系 Dubbo、消息中间件和定时调度任务三个部分,均按照设计理念、选型标准、实战演练的顺序展开。 在 Dubbo 这一部分,他会介绍微服务的设计目标与设计理念,并通过微服务网关设计实践、蓝绿发布两个生产实践案例。 消息中间件部分:首先介绍它的设计要点,并对比 Kafka 与 RocketMQ 两款主流中间件的差异。通过如何实现蓝绿发布和提高顺序消费性能两个实战案例,加强你的落地能力,最后会教你如何运维千亿级集群及线上故障排查的方法。 其次是分布式架构体系中的定时调度框架,不仅会介绍任务中需要解决的问题 ,还重点介绍基于 Zookeeper 实现分布式实时感知服务的设计方法。 第四模块是综合案例篇,他给你提供了一个全链路压测的落地项目,方便你全方位地串起各个主流中间件,完成对中间件的综合应用。 别的不说,学完这个专栏,你将对中间件的主要分类有更宏观地了解,掌握微服务、消息中间件、定时调度框架的设计场景,灵活应对高并发场景。详细可以看看目录: