掌握了它,Go 对接 Kafka 就不是问题了

Go语言中文网 昨天

最近看到了个重磅消息,即将发布的 Kafka 2.8 版本会移除 ZooKeeper,这可是 Kafka 在架构上的重大升级。让一向“重量级”的 Kafka 从此变得简单了起来,轻量级的单进程部署可以作为 ActiveMQ 或 RabbitMQ 等的替代方案,并且同时也适合于边缘场景和使用轻量级硬件的场景。

这下 Kafka 的粉丝肯定又多了,作为主流的 MQ 之一,Kafka 可以说是必学的消息系统了。我身边也有不少工程师,把 Kafka 加入到自己的学习列表。毕竟,我们仅需要学习一套框架,就能在实际业务系统中实现消息队列应用应用程序集成、分布式存储构建,甚至是流处理应用的开发与部署,可谓相当超值了。

不过,想要学透 Kafka,没有想象中的那么简单,方法尤为重要。我的建议是:千万不要直接扎到具体的细节中,亦或是从一个很小的点开始学习。因为你无法建立全局的认知观,从而实现系统地学习。

在我看来,针对不同的角色,Kafka 的学习路径是不一样的:

如果你是软件开发工程师,可以先根据编程语言,寻找对应的 Kafka 客户端,然后去官网上学习代码示例,正确编译和运行样例。再尝试修改样例代码并使用其他的 API,之后观测你修改的结果。

如果这些都没有难倒你,你可以自己编写一个小型项目来验证下学习成果,然后就是改善和提升客户端的可靠性和性能了。到了这一步,就熟读一遍 Kafka 文档吧,确保你理解了那些可能影响可靠性和性能的参数。最后是学习 Kafka 的高级功能,比如流处理应用开发。

如果你是系统管理员或运维工程师,那么学习目标应该是如何根据实际业务需求评估、搭建生产 Kafka 线上环境。

对生产环境的监控,Kafka 提供了超多的 JMX 监控指标,你可以选择任意你熟知的框架进行监控。有了监控数据,势必要观测真实业务负载下的 Kafka 集群表现。之后利用已有的监控指标来找出系统瓶颈,然后提升整个系统的吞吐量,这是最能体现你工作价值的地方。

别看我现在说的头头是道,当年学习 Kafka 的时候,踩了不少坑。之后看了 Kafka 资深专家胡夕的书《Apache Kafka实战》,豆瓣评分 8.8 分,很有收获。所以后来听说他出了个《Kafka 核心技术与实战》的专栏,第一时间就买了,果然超出预期。

在这先分享一张胡夕总结的 Kafka 学习框架,分为 Kafka 入门、Kafka 的基本使用、客户端详解、Kafka 原理介绍、Kafka 运维与监控以及高级 Kafka 应用,建议收藏。

Kafka 学习框架

这些内容,在他的《Kafka 核心技术与实战》专栏都有,最近 2 刷,又有新的心得和体会,毫不夸张的说,跟着学下来,能全面提升你的 Kafka 实战能力。现在已经将近 1.5W 人订阅了,口碑相当不错。

我非常认可胡夕在文章中的一句话:“在实际工作中进行学习,往往是学得最快,掌握得也最扎实的学习方式”,专栏也是这个思路,把Kafka 集群环境的监控和管理、内容原理剖析,以及一些消息系统常见疑难问题,都讲得清晰透彻。

听说马上要涨价到 ¥199 了,现在只需 ¥89 ,有需要的朋友可以赶紧入手。

秒杀 + 口令「 Kafka6666」

到手仅¥89,即将涨至 ¥199

说到胡夕,在 Kafka 领域,他相当有发言权了。

作为 Apache Kafka 的一名活跃代码贡献者。在过去几年中,他经历了 Kafka 从最初的 0.8 版本逐步演进到 2.7 版本的完整过程,可以说对 Kafka 及其他开源流处理框架与技术有深刻理解。

他主导过多个十亿级/天的消息引擎业务系统的设计与搭建,具有丰富的线上环境定位和诊断调优经验,也曾给多家大型公司提供企业级 Kafka 培训,所以在讲课方面也是经验丰富,能用最朴素的语言把晦涩的原理讲明白。

他早年基于 Kafka 1.0 版本撰写的《Apache Kafka实战》,就好评如潮,说内容实战,看完上手即用,在工作中帮大家解决了问题。

现在的《Kafka核心技术与实战》专栏,适用 Kafka 的最新版,而且不少读者反馈,比起书,专栏讲的更透彻,结合评论区胡夕的答疑,什么都清楚了。

专栏整体来说分成六个部分:

  • Kafka 入门。介绍消息引擎这类系统的原理和用途,以及作为优秀的消息引擎代表,Kafka 是如何“脱颖而出”的。

  • Kafka 的基本使用。重点探讨 Kafka 如何用于生产环境,特别是线上环境的方案该如何制定。

  • 客户端实践及原理剖析。带重点学习 Kafka 客户端的方方面面,既有生产者的实操讲解,也有消费者的原理剖析。

  • 深入 Kafka 内核。着重介绍 Kafka 最核心的设计原理,包括 Controller 的设计机制、请求处理的全流程等。

  • 管理与监控。这部分涵盖 Kafka 运维与监控的内容,将讨论如何高效运维 Kafka 集群,并分享有效监控 Kafka 的实战经验。

  • 高级 Kafka 应用之流处理。最后这一部分将会介绍 Kafka 流处理组件 Kafka Streams 的实战应用,并带你从头开发一个 demo 项目。

我把目录也给你扒来给你看看👇

是不是内容很实用?反正我是觉得真的可。现在开发节奏这么快,站在大牛的肩膀上学习,能够少走“弯路”,就是“捷径”了。

(0)

相关推荐