Redian新闻
>
10 年 MQ 老兵:消息队列如何学、如何选?| 极客时间

10 年 MQ 老兵:消息队列如何学、如何选?| 极客时间

公众号新闻

系统优化有三宝:异步、缓存、分片

异步首选消息队列,必须做到知其然,知其所以然。而消息中间件恰好也是集大成者,需要也值得投入大量精力去研究。

早年,业界消息队列演进的主要推动力在于功能、场景、分布式集群的支持等等。近几年,随着云原生架构和 Serverless 的普及,业界 MQ 主要向实时消息和流消息的融合架构、Serverless、Event、协议兼容等方面演进。从而实现计算、存储的弹性,实现集群的 Serverless 化。

作为一个老后端,我理解作为消息队列的使用者、研发人员、运维人员、架构师,大家希望获得什么,解决什么问题。

  • 使用者:希望选出符合我们业务需求、系统架构的最优组件;

  • 研发人员:希望了解消息队列的底层原理、设计思考、实现方案;

  • 运维人员:希望能够判断这款产品是否足够稳定,是否有隐藏的风险等等;

  • 架构师:希望了解到每款消息队列的功能清单、系统架构的优劣势、成本结构等等信息,以此辅助我们做出合理的决策。

但不管什么角色,都会遇到一个关键问题,那就是:消息队列那么多,看起来那么复杂,我们是否做出了最优选择

而要解决这个问题,我们是不是要把业界那么多的主流消息队列都学一遍?当然不用,学习应有技巧。

掌握消息队列的关键路径是什么?

从架构设计角度来看,消息队列在演进过程中本就存在相互借鉴,这也给我们学习消息队列提供了一个便捷的路径。即只要我们从需求出发,理解设计原理、主流技术方案、方案之间的优劣、选型过程主要的思考点,那么我们再往下学习具体某一款消息队列就会变得非常简单。

在我看来,掌握的核心关键点是成体系、系统、全面的知识结构。只要掌握了核心、掌握了顶层设计原理,不管有多少消息队列都能轻松驾驭

以最近消息队列领域最火的 Apache Pulsar 举例。从它的设计思想中,你会看到 Kafka、RocketMQ、RabbitMQ 的影子。从架构的角度,Pulsar Broker 和 Kafka 的设计几乎是一模一样的。所以你只要理解了 Kakfa、RocketMQ、RabbitMQ,再来理解 Pulsar,就是事半功倍的。

今天给大家分享一个清晰的 MQ 学习路径:

这个学习路径来自极客时间刚推出的课程《深入拆解消息队列 47 讲》。专栏作者是 腾讯云 Kafka 技术负责人 许文强。

因为对这方面一直很感兴趣,专栏已上线我就入手了,总的来说,该专栏结合了他的多年实践经验,从原理到方案,少啃艰深源码,极简代码辅助,最终帮助你系统掌握消息队列,在实际产线中运用自如。也推荐给大家:

作者许文强,何许人也?

腾讯云高级开发工程师,腾讯云消息队列 Kafka 技术负责人,Apache Kafka/RocketMQ/Pulsar Contributor。

常年活跃于消息队列和 Serverless 相关开源社区。精通业界主流消息队列,如 Kafka、RabbitMQ、RocketMQ、Pulsar 等等。在消息队列和 Serverless 领域有着深厚的技术储备,并具有丰富的大规模云上 PaaS 产品的商业化、产品设计、运维运营经验。

他不仅对消息队列这个领域有非常深刻的理解,同时也有大量的实战经验。

本课程共包含六个模块

预习篇:了解主流 MQ 的发展脉络,从中明确未来发展方向,并就后续课程频繁提及的基础概念做一个对齐。

基础篇:围绕通信协议、网络模块、存储模块、生产者、消费者等五个部分,分析一个最基础的消息队列应该考虑什么,如何选型以及如何设计实现。最后还会围绕着这五个部分分析 4 款主流消息队列的设计实现。

进阶篇:在最基础的消息队列之上,从集群瓶颈和可靠性风险分析、如何构建集群、如何确保数据一致性、集群的安全控制、集群的可观测性、编码技巧、集群优化等七个方面,来分析实现一个分布式的消息队列集群应该考虑什么、怎么做,有哪些方案以及各种方案的优劣。最后还是会围绕着这七个方面分析 4 款主流消息队列的设计实现。

功能篇:在集群化的消息队列的基础上,探讨在集群上如何实现顺序消息、幂等消息、延时消息、事务消息、死信队列、优先级队列、消息查询、支持 Schema、支持 WebSocket 等功能。详细分析实现这些功能要考虑什么,如何做方案设计、技术选型,以及怎样实现这些功能。

架构升级篇:前面四个模块已经实现了一个集群化、功能丰富的消息队列。接下来重点探讨在云原生架构演进、降本增效诉求增大、Serverless/Event 概念兴起等背景下,消息队列是如何跟进业界最新设计理念,做架构升级以满足系统弹性和降本诉求的。本模块将从存算分离架构、分层存储、Severless/Event 架构、集群容灾、数据连接、消息中台等六个方面来展开讲解技术上如何实现、如何考虑、能达到什么效果、有哪些风险、能满足哪些场景等等。

经验总结篇:基于他多年观察所产出的分享,从业务视角输出,赋能业务和产品,也为你自身赋能。

通过目录来看看具体内容吧:

消息队列是分布式中间件的集大成者,其中涉及到协议设计、网络通信、数据存储、分布式系统架构等多个方面的技术,掌握好消息队列可以使得技术能力有一个整体的提升。

再提醒一下

今天课程上新特惠,早鸟到手 ¥89

如果你是新用户,仅需¥59

订阅后还可以加入课程交流群:

最后我想说,在互联网降本增效的浪潮下,我希望我们都能做到:尽最大的努力,做最好的自己。

点击「阅读原文」,我们一起开启这段学习之旅!

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
消息队列之 MetaQ 和 Kafka 哪个更香!蔚来回应合作奔驰传闻:消息不实;波音推迟飞船载人飞行测试;工信部:App 备案明年 4 月完成 | 极客早知道如何在面试中巧妙展现架构能力?附200道面试真题+100例经典架构案例拆解 | 极客时间AI时代的现实生存指南,解锁46个AIGC高频场景 | 极客时间手撸个自己的操作系统,NB!| 极客时间年薪 80W!大厂掀起 AIGC 人才大战,普通打工人应该怎么做?| 极客时间数字化企业如何占领未来发展制高点?DTDS 全球数字人才发展峰会为您揭秘 | 极客时间企业版程序员必须了解的消息队列之王——Kafka1-3 年经验的前端怎么进步?没到 25k 的抓紧看!| 极客时间说说缘分这个东西3天,手把手教你搭建自己的监控系统(附代码)| 极客时间阿里 P10 是怎样的存在?| 极客时间Python+Vue+Flask,打造让面试官眼前一亮的在线视频网站 | 极客时间离乡人考虑了很久,还是决定转Go了!| 极客时间消息队列CKafka跨洋数据同步性能优化从简历、技巧到面试题精讲,带你搞定Java面试 | 极客时间骨灰级运维开发:监控系统,从来不只是运维的事儿 | 极客时间关于高可用、高性能、可扩展架构设计的14大要点详解 | 极客时间实战总结|记一次消息队列堆积的问题排查提效50%+!如何5分钟速成Prompt工程师?| 极客时间时至今日,他们才明白自己的青春被浪费了ChatGPT 爆火,网络安全如何保障?| 极客时间如何快速上手Java虚拟机?| 极客时间曾与腾格尔相爱8年,坦言离婚并不后悔,今57岁肤白貌美仍单身业务高速增长,如祺出行如何用腾讯云消息队列 RocketMQ 应对挑战普林斯顿大学、哈佛大学、耶鲁大学、弗吉尼亚大学、韦尔斯利学院5月31日将联合召开线上说明会!注册通道已开放!前阿里 P9 居然是这样画架构图的,看完惊呆了!| 极客时间需求猛增42%!大厂 AIGC 人才争夺战再升级(内附知识库)| 极客时间程序员必须了解的消息队列之王-Kafka沙河情思不被ChatGPT淘汰的体验设计师,都具备这4点能力 | 极客时间GPT-4时代,如何2周上手AI应用开发?| 极客时间极客时间企业版 AI 学习助手上线,引领学习体验全面升级我的消息队列专栏
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。