前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Kafka使用场景

Kafka使用场景

作者头像
从大数据到人工智能
发布2022-01-19 08:42:38
7330
发布2022-01-19 08:42:38
举报
文章被收录于专栏:大数据-BigData

消息队列

Kafka作为一个传统的消息代理的替代品表现得非常出色。使用消息代理有各种各样的原因(将处理与数据生成器解耦,缓冲未处理的消息,等等)。与大多数消息传递系统相比,Kafka有更好的吞吐量、内置分区、复制和容错性,这使得它成为大规模消息处理应用的一个很好的解决方案。

根据我们的经验,消息传递的使用通常是相对较低的吞吐量,但可能需要较低的端到端延迟,并且常常依赖于Kafka提供的强大的持久性保证。

在这个领域,Kafka可以与ActiveMQ或RabbitMQ等传统消息传递系统相媲美。

网站活动追踪

Kafka最初的用例是能够重建一个用户活动跟踪管道,作为一组实时发布-订阅提要。这意味着站点活动(页面浏览、搜索或用户可能采取的其他操作)被发布到中心主题,每个活动类型有一个主题。这些提要可用于订阅一系列用例,包括实时处理、实时监视和加载到Hadoop或脱机数据仓库系统以进行脱机处理和报告。

活动跟踪通常是非常大的量,因为许多活动消息会生成的每个用户页面视图。

监控

Kafka通常用于运行监控数据。这涉及聚合来自分布式应用程序的统计信息,以生成集中的操作数据提要。

日志聚合

许多人使用Kafka作为日志聚合解决方案的替代品。日志聚合通常收集服务器上的物理日志文件,并将它们放在一个中心位置(可能是文件服务器或HDFS)进行处理。Kafka抽象了文件的细节,并以消息流的形式对日志或事件数据进行了更清晰的抽象。这允许低延迟处理,并更容易支持多个数据源和分布式数据消费。与以日志为中心的系统如Scribe或Flume相比,Kafka提供了同样好的性能,由于复制而更强的持久性保证,以及更低的端到端延迟。

流处理

很多Kafka的用户在处理数据的管道中都有多个阶段,原始的输入数据会从Kafka的主题中被消费,然后被聚合、充实或者转换成新的主题进行进一步的消费或者后续的处理。例如,推荐新闻文章的处理管道可能会从RSS源抓取文章内容,并将其发布到“文章”主题;进一步的处理可能会规范化或删除该内容,并将清理后的文章内容发布到新主题;最后一个处理阶段可能会尝试向用户推荐这些内容。这种处理管道基于单个主题创建实时数据流图。从0.10.0.0开始,Apache Kafka提供了一个轻量级但功能强大的流处理库,名为Kafka Streams,用于执行上述的数据处理。除了Kafka Streams,其他开源流处理工具包括Apache Storm和Apache Samza。

事件朔源

事件溯源是一种应用程序设计风格,其中将状态更改记录为按时间顺序排列的记录序列。Kafka支持非常大的存储日志数据,这使得它成为这种风格的应用程序的优秀后端。

提交日志

Kafka可以作为分布式系统的一种外部提交日志。日志有助于在节点之间复制数据,并充当故障节点的重新同步机制,以恢复它们的数据。Kafka的日志压缩特性支持这种用法。在这种用法中,Kafka类似于Apache BookKeeper项目。

本文为从大数据到人工智能博主「xiaozhch5」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://cloud.tencent.com/developer/article/1936528

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-11-,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 消息队列
  • 网站活动追踪
  • 监控
  • 日志聚合
  • 流处理
  • 事件朔源
  • 提交日志
相关产品与服务
消息队列 CMQ
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档