分享

kafka权威指南 第一章第4节 【中文版】

本帖最后由 pig2 于 2017-5-6 16:13 编辑

问题导读

1.kafka在大数据生态系统中的角色是什么?
2.kafka有哪些使用场景?




相关内容:

kafka权威指南 第一章第1节  【中文版】
http://www.aboutyun.com/forum.php?mod=viewthread&tid=21648

Kafka权威指南 —— 第一章第2节 初识Kafka

http://www.aboutyun.com/forum.php?mod=viewthread&tid=21652


kafka权威指南 第一章第4节 【中文版】
http://www.aboutyun.com/forum.php?mod=viewthread&tid=21681


kafka权威指南- 第一章第5节 开始入门kafka
http://www.aboutyun.com/forum.php?mod=viewthread&tid=21683



The Data Ecosystem 数据生态系统

许多的应用参与到我们所构建的处理数据的环境中。 我们定义了输入–产生数据或者引入数据到系统应用。 我们定义了输出–统计指标, 报告, 或者其他数据产品。 我们创造了回路, 一些组件从系统中读取数据,进行一些处理,然后将其回写到数据基础设施中, 以便后续其他地方处理。无数的内容,大小,用途不同的数据通过这套流程进行处理。

如图1-9所示, Apache Kafka为这个数据生态系统提供了循环系统。Kafka传输来自各个基础设施的消息, 为所有的客户端提供一致的接口。 因为引入了消息队列模式, producer和consumer就不再耦合, 之间也没有任何的直接连接。 组件能够随着业务的增加和融合而添加或移除, producer不需要关心谁在使用数据, 有多少consumer在使用数据。
图片1.png

图1-9 大数据生态系统

                                                
Use Cases  用例Activity Tracking 行为追踪
Kafka最初的用途是用户行为追踪。 无论用户在前端进行什么交互操作都会产生消息以及行为记录。 这写信息可以是被动信息, 比如浏览页面和点击的追踪, 也可以是更加复杂的行为, 比如为用户资料添加信息。 这些message被发布到一个或多个topic, 随后被后端的消费者消费。以这种方式, 我们生成报表, 为机器学习系统提供数据源, 更新搜索结果, 以及无数其他的用途。

Messaging 消息传输
kafka的另外一个基本用途就是消息传输。 当一个应用把需要发送给用户的通知(例如邮件消息)发送给用户。 这些组件可以生产消息, 而不需要关注消息格式和消息将如何被发送。 一个通用的应用能够读取所有需要被发送的消息, 并且执行格式化, 选择如何发送它们。 通过使用一个通用组件, 不仅仅是减少了不同系统中的重复功能, 而且还能做一些有意思的转换功能, 比如聚集多条消息一次发送。

Metrics and Logging 指标和日志
Kafka同样是理想的处理应用和系统指标、日志的工具。可以用于多个生产者生产同一种类型的消息。应用定期发送它们的操作指标数据到kafka的topic中, 这些数据可以被用于系统监控和报警。 同样也可以被用于像hadoop这样的系统进行长周期的分析, 比如项目的年增长。日志消息能够以同样的方式进行发送, 能够被路由至专门的日志分析系统,比如Elasticsearch或者安全分析应用。 kafka提供了便利, 当目标系统需要改变时( 比我们要升级日志存储系统), 无需修改前端应用以及日志的聚合方式。

Commit Log 提交日志
Kafka是基于提交日志的思想来构建的, 自然可以以这种方式来使用kafka。 数据库更改可以发送到kafka, 应用可以监控这个流来接收实时更新。 这个changelog流同样也可以用于复制数据库更新到远程系统。或者合并多个应用的更新到单一的数据库视图。持久化的保存也为changelog提供了缓存, 意味着如果消费应用失败的话, changelog可以进行事件重放。另外,日志压缩的topic还能为日志提供更长的保留时间, 如果对于每个key只保留最新一个更新的话。

Stream Processing 流处理
另一方面,它提供了许多类型的应用程序流处理。 可以认为是提供了Hadoop的map/reduce处理类似的功能,但是Hadoop通常依赖于一个大的时间窗口的聚集数据, 几小时或几天, 然后以批处理的方式处理数据, 而流处理以实时的方式处理流。流处理框架允许用户写一个小应用来对kafka message进行操作, 执行诸如计数, 对message进行分区让其他应用更有效的处理, 或者转换来自多个源的数据。 Stream处理学习在第10章中单独讲解。


本帖被以下淘专辑推荐:

已有(2)人评论

跳转到指定楼层
地球仪 发表于 2017-5-8 10:13:13
kafka权威指南 第一章第4节
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条