【资源介绍】:
中间件作为三大基础软件之一,消息队列是其重要的组成部分。
早年,业界消息队列演进的主要推动力在于功能、场景、分布式集群的支持等等。近几年,随着云原生架构和 Serverless 的普及,业界 MQ 主要向实时消息和流消息的融合架构、Serverless、Event、协议兼容等方面演进。从而实现计算、存储的弹性,实现集群的 Serverless 化。
业务场景越来越复杂,业务消息的数据量也越来越大,这进一步加剧了技术选型的难度以及 MQ 调优的难度。但通过拆解经典消息队列,你会深刻体会到什么叫“发展的本质是联系”。
从架构设计角度来看,消息队列在演进过程中本就存在相互借鉴,这也给我们学习消息队列提供了一个便捷的路径。许文强老师将结合自己的多年积累,带着你探索这条路径,一起从需求出发,深入 MQ 设计原理,对比主流技术方案,思考选型重点,极简代码辅助,最终你学习任意一款消息队列将会变得非常简单,在实际产线中也将运用自如。
本课程共包含六个模块。
预习篇:了解主流 MQ 的发展脉络,从中明确未来发展方向,并就后续课程频繁提及的基础概念做一个对齐。
基础篇:围绕通信协议、网络模块、存储模块、生产者、消费者等五个部分,分析一个最基础的消息队列应该考虑什么,如何选型以及如何设计实现。最后还会围绕着这五个部分分析 4 款主流消息队列的设计实现。
进阶篇:在最基础的消息队列之上,从集群瓶颈和可靠性风险分析、如何构建集群、如何确保数据一致性、集群的安全控制、集群的可观测性、编码技巧、集群优化等七个方面,来分析实现一个分布式的消息队列集群应该考虑什么、怎么做,有哪些方案以及各种方案的优劣。最后还是会围绕着这七个方面分析 4 款主流消息队列的设计实现。
功能篇:在集群化的消息队列的基础上,探讨在集群上如何实现顺序消息、幂等消息、延时消息、事务消息、死信队列、优先级队列、消息查询、支持 Schema、支持 WebSocket 等功能。详细分析实现这些功能要考虑什么,如何做方案设计、技术选型,以及怎样实现这些功能。
架构升级篇:前面四个模块已经实现了一个集群化、功能丰富的消息队列。接下来重点探讨在云原生架构演进、降本增效诉求增大、Serverless/Event 概念兴起等背景下,消息队列是如何跟进业界最新设计理念,做架构升级以满足系统弹性和降本诉求的。本模块将从存算分离架构、分层存储、Severless/Event 架构、集群容灾、数据连接、消息中台等六个方面来展开讲解技术上如何实现、如何考虑、能达到什么效果、有哪些风险、能满足哪些场景等等。
经验总结篇:基于讲师多年观察所产出的分享,从多个视角输出,赋能业务和产品,也为你自身赋能。
【资源目录】:
├──10|从基础功能拆解RabbitMQ的架构设计与实现.md 16.20kb
├──10|从基础功能拆解RabbitMQ的架构设计与实现.mp3 15.13M
├──10|从基础功能拆解RabbitMQ的架构设计与实现.pdf 4.68M
├──11|从基础功能拆解RocketMQ的架构设计与实现.md 17.81kb
├──11|从基础功能拆解RocketMQ的架构设计与实现.mp3 15.76M
├──11|从基础功能拆解RocketMQ的架构设计与实现.pdf 2.11M
├──12|从基础功能拆解Kafka的架构设计与实现.md 16.29kb
├──12|从基础功能拆解Kafka的架构设计与实现.mp3 14.01M
├──12|从基础功能拆解Kafka的架构设计与实现.pdf 6.63M
├──13|从基础功能拆解Pulsar的架构设计与实现.md 17.66kb
├──13|从基础功能拆解Pulsar的架构设计与实现.mp3 15.93M
├──13|从基础功能拆解Pulsar的架构设计与实现.pdf 4.52M
├──14|集群:哪些环节会存在性能瓶颈和数据可靠性风险?.md 15.54kb
├──14|集群:哪些环节会存在性能瓶颈和数据可靠性风险?.mp3 14.28M
├──14|集群:哪些环节会存在性能瓶颈和数据可靠性风险?.pdf 12.83kb
├──15|集群:如何构建分布式的消息队列集群?(上).md 16.18kb
├──15|集群:如何构建分布式的消息队列集群?(上).mp3 16.46M
├──15|集群:如何构建分布式的消息队列集群?(上).pdf 5.49M
├──16|集群:如何构建分布式的消息队列集群?(下).md 16.68kb
├──16|集群:如何构建分布式的消息队列集群?(下).mp3 15.20M
├──16|集群:如何构建分布式的消息队列集群?(下).pdf 8.95M
├──17|可靠性:分布式集群的数据一致性都有哪些实现方案.md 18.16kb
├──17|可靠性:分布式集群的数据一致性都有哪些实现方案.mp3 16.45M
├──17|可靠性:分布式集群的数据一致性都有哪些实现方案.pdf 7.43M
├──18|性能:Java开发分布式存储系统都有哪些常用的编码技巧?.md 20.17kb
├──18|性能:Java开发分布式存储系统都有哪些常用的编码技巧?.mp3 17.55M
├──18|性能:Java开发分布式存储系统都有哪些常用的编码技巧?.pdf 6.20M
├──19|安全:身份认证、资源鉴权和加密传输都是怎么实现的?.md 19.70kb
├──19|安全:身份认证、资源鉴权和加密传输都是怎么实现的?.mp3 18.29M
├──19|安全:身份认证、资源鉴权和加密传输都是怎么实现的?.pdf 15.15M
├──20|安全:如何设计高吞吐和大流量分布式集群的限流方案?.md 18.61kb
├──20|安全:如何设计高吞吐和大流量分布式集群的限流方案?.mp3 17.29M
├──20|安全:如何设计高吞吐和大流量分布式集群的限流方案?.pdf 21.08M
├──21|可观测性:如何设计实现一个好用的分布式监控体系?.md 21.10kb
├──21|可观测性:如何设计实现一个好用的分布式监控体系?.mp3 20.86M
├──21|可观测性:如何设计实现一个好用的分布式监控体系?.pdf 8.44M
├──22|可观测性:如何设计实现消息轨迹功能?.md 19.78kb
├──22|可观测性:如何设计实现消息轨迹功能?.mp3 19.23M
├──22|可观测性:如何设计实现消息轨迹功能?.pdf 10.86M
├──23|从集群角度拆解RabbitMQ的架构设计与实现.md 17.51kb
├──23|从集群角度拆解RabbitMQ的架构设计与实现.mp3 16.38M
├──23|从集群角度拆解RabbitMQ的架构设计与实现.pdf 8.68M
├──24|从集群角度拆解RocketMQ的架构设计与实现.md 19.20kb
├──24|从集群角度拆解RocketMQ的架构设计与实现.mp3 18.80M
├──24|从集群角度拆解RocketMQ的架构设计与实现.pdf 475.17kb
├──25|从集群角度拆解Kafka的架构设计与实现.md 16.61kb
├──25|从集群角度拆解Kafka的架构设计与实现.mp3 15.47M
├──25|从集群角度拆解Kafka的架构设计与实现.pdf 3.99M
├──26|从集群角度拆解Pulsar的架构设计与实现.md 17.03kb
├──26|从集群角度拆解Pulsar的架构设计与实现.mp3 13.95M
├──26|从集群角度拆解Pulsar的架构设计与实现.pdf 3.99M
├──27|基础功能:Topic、分区、订阅等基本功能是如何实现的?.md 21.38kb
├──27|基础功能:Topic、分区、订阅等基本功能是如何实现的?.mp3 17.50M
├──27|基础功能:Topic、分区、订阅等基本功能是如何实现的?.pdf 2.85M
├──28|顺序消息和幂等:如何实现顺序消息和数据幂等?.md 25.93kb
├──28|顺序消息和幂等:如何实现顺序消息和数据幂等?.mp3 23.17M
├──28|顺序消息和幂等:如何实现顺序消息和数据幂等?.pdf 11.00M
├──29|延时消息:如何实现高性能的定时-延时消息?.md 21.17kb
├──29|延时消息:如何实现高性能的定时-延时消息?.mp3 17.64M
├──29|延时消息:如何实现高性能的定时-延时消息?.pdf 8.10M
├──30|事务消息:如何实现一个完整的事务消息模块?.md 20.84kb
├──30|事务消息:如何实现一个完整的事务消息模块?.mp3 18.82M
├──30|事务消息:如何实现一个完整的事务消息模块?.pdf 6.77M
├──31|死信队列和优先级队列:如何实现死信队列和优先级队列?.md 21.68kb
├──31|死信队列和优先级队列:如何实现死信队列和优先级队列?.mp3 29.91M
├──31|死信队列和优先级队列:如何实现死信队列和优先级队列?.pdf 7.37M
├──32|消息查询:如何实现消息查询功能?.md 20.83kb
├──32|消息查询:如何实现消息查询功能?.mp3 16.59M
├──32|消息查询:如何实现消息查询功能?.pdf 6.40M
├──33|Schema:如何设计实现Schema模块?.md 20.30kb
├──33|Schema:如何设计实现Schema模块?.mp3 26.98M
├──33|Schema:如何设计实现Schema模块?.pdf 3.03M
├──34|WebSocket:如何在消息队列内核中支持WebSocket?.md 18.46kb
├──34|WebSocket:如何在消息队列内核中支持WebSocket?.mp3 19.97M
├──34|WebSocket:如何在消息队列内核中支持WebSocket?.pdf 1.19M
├──35|从高级功能拆解4款主流MQ的架构设计与实现.md 30.98kb
├──35|从高级功能拆解4款主流MQ的架构设计与实现.mp3 15.27M
├──35|从高级功能拆解4款主流MQ的架构设计与实现.pdf 3.17M
├──36|云原生:业界MQ的计算存储分离是如何实现的?.md 22.76kb
├──36|云原生:业界MQ的计算存储分离是如何实现的?.mp3 20.36M
├──36|云原生:业界MQ的计算存储分离是如何实现的?.pdf 16.42M
├──37|云原生:MQ的分层存储架构都有哪些实现方案?.md 20.45kb
├──37|云原生:MQ的分层存储架构都有哪些实现方案?.mp3 19.16M
├──37|云原生:MQ的分层存储架构都有哪些实现方案?.pdf 6.43M
├──38|Serverless:如何基于Serverless架构实现流式数据处理?.md 16.99kb
├──38|Serverless:如何基于Serverless架构实现流式数据处理?.mp3 16.04M
├──38|Serverless:如何基于Serverless架构实现流式数据处理?.pdf 2.28M
├──39|Serverless:如何基于MQ和Serverless设计事件驱动架构.md 24.31kb
├──39|Serverless:如何基于MQ和Serverless设计事件驱动架构.mp3 20.84M
├──39|Serverless:如何基于MQ和Serverless设计事件驱动架构.pdf 6.60M
├──40|连接器:如何以MQ为核心搭建数据集成架构?.md 22.67kb
├──40|连接器:如何以MQ为核心搭建数据集成架构?.mp3 18.83M
├──40|连接器:如何以MQ为核心搭建数据集成架构?.pdf 6.82M
├──41|容灾:如何实现跨地域、跨可用区的容灾和同步?.md 19.64kb
├──41|容灾:如何实现跨地域、跨可用区的容灾和同步?.mp3 18.31M
├──41|容灾:如何实现跨地域、跨可用区的容灾和同步?.pdf 4.75M
├──开篇词|深度拆解核心原理,轻松掌握所有消息队列.md 9.52kb
├──开篇词|深度拆解核心原理,轻松掌握所有消息队列.mp3 10.50M
└──开篇词|深度拆解核心原理,轻松掌握所有消息队列.pdf 2.89M