Kafka,为writing而生的系统

2019 年 6 月 3 日 余晟以为

说起“消息队列”,开发时间长点的同学大概还记得有RabbitMQ、ActiveMQ之类的产品,但是近几年,越来越多的人在讨论Kafka,这个名字里没有任何MQ字样的产品。

为什么?我觉得一个原因是传统MQ和Kafka的取舍重点不同,Kafka从设计开始,就是按照分布式、高吞吐量的要求来设计的,也“简单粗暴”地舍弃了不少传统MQ的特点,比如Broker是无状态的,消费者必须自己维持状态……

按照Kafka在2014年的一篇帖子里的说法,选择Kafka这个名字是为了纪念著名作家卡夫卡,因为这是“为写入(writing,也是‘写作’)而优化的系统”,而且他也喜欢卡夫卡的作品。相比其它MQ,在大数据、高并发遍地走的年代,Kafka越来越得势也是理所当然。

如果你对Kafka有兴趣,极客时间最新推出了 《Apache Kafka实战》课程,由写作过《Apache Kafka实战》的胡夕主讲,值得考虑。


毋庸置疑,目前 Apache Kafka 是整个消息引擎领域的执牛耳者,也是大数据生态圈中颇为重量级的一员。从最早诞生于 LinkedIn 的“分布式消息系统”,到现在集成了分发、存储和计算的“流式数据平台”,Kafka 广泛应用于国内外大厂,比如 BAT、字节跳动、美团、Netflix、Airbnb、Twitter 等等

我们身边也有越来越多的工程师们,把 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 核心技术与实战》专栏里为你一一讲解,跟着他对 Apache Kafka 的理解和实战方面的经验,相信你一定能透彻理解 Kafka、更好地应用 Kafka。


胡夕是谁?


胡夕,现任人人贷公司计算平台部总监,也是 Apache Kafka 的一名活跃代码贡献者。

在过去 5 年中,他经历了 Kafka 从最初的 0.8 版本逐步演进到 2.3 版本的完整过程,可以说对 Kafka 及其他开源流处理框架与技术有深刻理解。他主导过多个十亿级/天的消息引擎业务系统的设计与搭建,具有丰富的线上环境定位和诊断调优经验,也曾给多家大型公司提供企业级 Kafka 培训。

他的书《Apache Kafka实战》,读者好评如潮,说内容实战,看完上手即用,在工作中帮大家解决了问题。

       

你可能会问,《Kafka 核心技术与实战》专栏与书的区别又是什么呢?

 

其实区别还是挺大的,书是基于 Kafka 1.0 版本撰写的,但目前 Kafka 已经演进到 2.3 版本了,书中的部分内容已经过时甚至是不准确了,而《Kafka核心技术与实战》专栏的写作是基于 Kafka 的最新版

 

另外,《Kafka核心技术与实战》专栏作为一次全新的交付,胡夕希望能用更轻松更容易理解的语言和形式,帮你获取到最新的 Kafka 实战经验。


你将获得?

  • 专栏的第一部分会介绍消息引擎这类系统大致的原理和用途,以及作为优秀消息引擎代表的 Kafka 在这方面的表现。

  • 第二部分则重点探讨 Kafka 如何用于生产环境,特别是线上环境方案的制定。

  • 在第三部分中会陪你一起学习Kafka客户端的方方面面,既有生产者的实操讲解也有消费者的原理剖析,你一定不要错过。

  • 第四部分会着重介绍 Kafka 最核心的设计原理,包括 Controller 的设计机制、请求处理全流程解析等。

  • 第五部分则涵盖 Kafka 运维与监控的内容,助你获得高效运维 Kafka 集群以及有效监控Kafka的实战经验。

  • 最后一个部分会简单介绍一下 Kafka 流处理组件 Kafka Streams 的实战应用,希望能让你认识一个不太一样的 Kafka。


限时订阅福利


1.限时优惠 ¥68(原价 ¥99 )

2.分享海报,邀请好友订阅即可获得 ¥24 返现,多邀多得,上不封顶。

3.凭订阅截图,可领取「学习礼包」,包括 111 本实战指南,仅限 500 人。获取方式:点「阅读原文」

       识别我的海报,立即试读或订阅课程





 点「阅读原文」,领取「学习礼包

登录查看更多
0

相关内容

Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。 对于像Hadoop的一样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案。Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消费。
【2020新书】实战R语言4,323页pdf
专知会员服务
100+阅读 · 2020年7月1日
FPGA加速系统开发工具设计:综述与实践
专知会员服务
65+阅读 · 2020年6月24日
【纽约大学】最新《离散数学》笔记,451页pdf
专知会员服务
128+阅读 · 2020年5月26日
【实用书】流数据处理,Streaming Data,219页pdf
专知会员服务
76+阅读 · 2020年4月24日
深度神经网络实时物联网图像处理,241页pdf
专知会员服务
76+阅读 · 2020年3月15日
【2020新书】Kafka实战:Kafka in Action,209页pdf
专知会员服务
67+阅读 · 2020年3月9日
【干货】大数据入门指南:Hadoop、Hive、Spark、 Storm等
专知会员服务
95+阅读 · 2019年12月4日
在K8S上运行Kafka合适吗?会遇到哪些陷阱?
DBAplus社群
9+阅读 · 2019年9月4日
为什么分布式一定要有消息队列?
互联网架构师
4+阅读 · 2018年7月5日
基于 Storm 的实时数据处理方案
开源中国
4+阅读 · 2018年3月15日
深度学习人脸识别系统DFace
深度学习
17+阅读 · 2018年2月14日
Spark的误解-不仅Spark是内存计算,Hadoop也是内存计算
今日头条推荐系统架构演进之路
QCon
32+阅读 · 2017年6月21日
Arxiv
5+阅读 · 2018年5月1日
Arxiv
14+阅读 · 2018年4月18日
VIP会员
相关VIP内容
【2020新书】实战R语言4,323页pdf
专知会员服务
100+阅读 · 2020年7月1日
FPGA加速系统开发工具设计:综述与实践
专知会员服务
65+阅读 · 2020年6月24日
【纽约大学】最新《离散数学》笔记,451页pdf
专知会员服务
128+阅读 · 2020年5月26日
【实用书】流数据处理,Streaming Data,219页pdf
专知会员服务
76+阅读 · 2020年4月24日
深度神经网络实时物联网图像处理,241页pdf
专知会员服务
76+阅读 · 2020年3月15日
【2020新书】Kafka实战:Kafka in Action,209页pdf
专知会员服务
67+阅读 · 2020年3月9日
【干货】大数据入门指南:Hadoop、Hive、Spark、 Storm等
专知会员服务
95+阅读 · 2019年12月4日
相关资讯
在K8S上运行Kafka合适吗?会遇到哪些陷阱?
DBAplus社群
9+阅读 · 2019年9月4日
为什么分布式一定要有消息队列?
互联网架构师
4+阅读 · 2018年7月5日
基于 Storm 的实时数据处理方案
开源中国
4+阅读 · 2018年3月15日
深度学习人脸识别系统DFace
深度学习
17+阅读 · 2018年2月14日
Spark的误解-不仅Spark是内存计算,Hadoop也是内存计算
今日头条推荐系统架构演进之路
QCon
32+阅读 · 2017年6月21日
Top
微信扫码咨询专知VIP会员