云原生头号消息引擎系统,是 Kafka 还是 RabbitMQ?
Posted 云原生实验室
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了云原生头号消息引擎系统,是 Kafka 还是 RabbitMQ?相关的知识,希望对你有一定的参考价值。
这段时间招聘季,后台收到不少关于 Kafka 的问题,确实 Kafka 近两年的行情,可谓是水涨船高了。
根本原因是,是 Apache Kafka 作为一款开源的消息引擎系统。凭借高可靠、高吞吐、高可用、可伸缩等优越特性,在数据采集、传输、存储的过程中,发挥着举足轻重的位置,说是大数据领域的杀手锏也不为过。
举个例子,普通开发人员在实际工作过程中,一定参与到了很多大数据业务系统的构建。对于如何应对数据量激增、数据复杂度增加,以及数据变化速率变快等问题, Kafka 都可以很好的解决。就拿数据量激增来说,Kafka 能够有效隔离上下游业务,将上游突增的流量缓存起来,以平滑的方式传导到下游子系统中,避免了流量的不规则冲击。
其实,Kafka 在实际业务系统中的应用更为广阔,比如实现消息队列应用、应用程序集成、分布式存储构建,甚至是流处理应用的开发与部署。可谓是学习一套框架,打通多个关键点,相当超值了。
从行业角度来看,目前所有主流的互联网公司,都在用 Kafka。如果你能够深入进去,把 Kafka 的原理搞懂,再或者进一步,能够给 Kafka 贡献源代码,那这绝对是你简历里亮眼的一笔。
简单来说,Kafka 作为主流的 MQ 之一,是每个 Java 开发、大数据从业人员,非常必要的一项技能了。
我身边不少工程师,都把 Kafka 加入到自己的学习列表。但想学透 Kafka,没那么简单,我的建议是:千万不要直接扎到具体的细节中,亦或是从一个很小的点开始学习。因为你无法建立全局的认知观,从而实现系统地学习。
当年我学习 Kafka 的时候,踩了不少坑。直到看了 Kafka 资深专家胡夕的书《Apache Kafka实战》,豆瓣评分 8.8 分,很有收获。所以后来听说他出了个《Kafka 核心技术与实战》的专栏,第一时间就买了,果然超出预期。
在这先分享一张胡夕总结的 Kafka 学习框架,分为 Kafka 入门、Kafka 的基本使用、客户端详解、Kafka 原理介绍、Kafka 运维与监控以及高级 Kafka 应用,建议收藏。
Kafka 学习框架
这些内容,来自他的《Kafka 核心技术与实战》专栏,胡夕把 Kafka 集群环境的监控和管理、内容原理剖析,以及消息系统常见疑难问题,都讲得清晰透彻。我最大的收获,就是对 Kafka 的原理、机制以及参数的理解更深入了。
尤其是胡夕把官方文档中,上百个参数精简成十几个重要的参数,非常实用。
我很认可胡夕的观点:“在实际工作中进行学习,才能学得最快,掌握得也最扎实”,专栏也是这个思路,有很多实操性的知识,需要自己搭建测试环境进行实践。
最近 2 刷,又有新的心得和体会,毫不夸张的说,跟着学下来,能全面提升你的 Kafka 实战能力。现在已经将近 1.5W 人订阅了,口碑相当不错。原价 ¥199 ,现在只需 ¥119 ,别错过。
秒杀 + 口令「 Happy2021」
原价 ¥199 ,到手仅¥119
更有新人到手价¥69.9
说到胡夕,在 Kafka 领域,他相当有发言权了。
作为 Apache Kafka 的一名活跃代码贡献者。在过去几年中,他经历了 Kafka 从最初的 0.8 版本逐步演进到 2.7 版本的完整过程,可以说对 Kafka 及其他开源流处理框架与技术有深刻理解。
他主导过多个十亿级/天的消息引擎业务系统的设计与搭建,具有丰富的线上环境定位和诊断调优经验,也曾给多家大型公司提供企业级 Kafka 培训。所以对于传授知识,经验很是丰富。
我自己学下来,印象最深刻的,是胡夕在讲参数配置的时候,在第 7 讲、第 8 讲的标题中,用了 3 个“最”字,并且在文章里分享了最重要、最核心的集群参数配置。看完这两讲之后,对于一直以来持有的“Kafka配置优化过程中怎么有这么多参数”的怨念,才得以消解。
不必贪多求全,只要掌握最核心的内容就可以了。
专栏的评论值得好好看,很多读者的总结概括能力都很强,对信息进行二次提炼,也能帮你进行梳理,对于困惑的问题,只要你写在评论区,胡夕就会及时回复,可以说做到了“今日疑,今日解,不积攒遗留问题”。
除了答疑解惑,胡夕还很具有分享精神。大家都知道,读阅码有多么痛苦。而胡夕曾经花了将近一年的时间,啃下了 50 万行 Kafka 源代码,想到那句“聪明人也要下死工夫”,这毅力,真的是令人佩服。
而胡夕也在加餐中分享了他阅读源码的方法,而且是直接将源码在 IDE 中展示出来,并且对着实际代码描述阅读代码的方式,实操性很强。
另外,每一篇文章结束,都有一个知识卡片的总结,便于记忆。
真诚的说,在 Kafka 这块,没有比胡夕讲得更体系的学习资料了,非常良心,截了些评论给你参考:
总的来说,跟着胡夕学,你可以获得这 6 个部分的知识:
Kafka 入门。介绍消息引擎这类系统的原理和用途,以及作为优秀的消息引擎代表,Kafka 是如何“脱颖而出”的。
Kafka 的基本使用。重点探讨 Kafka 如何用于生产环境,特别是线上环境的方案该如何制定。
客户端实践及原理剖析。重点学习 Kafka 客户端的方方面面,既有生产者的实操讲解,也有消费者的原理剖析。
深入 Kafka 内核。着重介绍 Kafka 最核心的设计原理,包括 Controller 的设计机制、请求处理的全流程等。
管理与监控。这部分涵盖 Kafka 运维与监控的内容,将讨论如何高效运维 Kafka 集群,并分享有效监控 Kafka 的实战经验。
高级 Kafka 应用之流处理。最后这一部分将会介绍 Kafka 流处理组件 Kafka Streams 的实战应用,并带你从头开发一个 demo 项目。
我把目录也给你扒来给你看看
以上是关于云原生头号消息引擎系统,是 Kafka 还是 RabbitMQ?的主要内容,如果未能解决你的问题,请参考以下文章
颠覆Kafka的统治,新一代云原生消息系统Pulsar震撼来袭!
颠覆Kafka的统治,新一代云原生消息系统Pulsar震撼来袭!
颠覆 Kafka 的统治,下一代云原生消息平台 Pulsar 来了!