问:Kafka有哪些应用场景?你能说上来几个?
创始人
2025-07-07 13:31:32
0

下面我们来总结一下Kafka的一些应用场景:

1、日志处理与分析(最常用的场景)

下图显示了典型的 ELK(Elastic-Logstash-Kibana)堆栈。Kafka 有效地从每个实例收集日志流。

ElasticSearch 使用来自 Kafka 的日志并为其建立索引。Kibana 在 ElasticSearch 之上提供了搜索和可视化 UI。

2、推荐中的数据流

像很多电商网站使用用户过去的行为和相似的用户来计算产品推荐。

下图展示了推荐系统的工作原理。Kafka 传输原始点击流数据,通过Flink 对其进行处理,模型训练则使用来自数据湖的聚合数据。

这使得能够持续改进每个用户的推荐的相关性。Kafka 的另一个重要用例是实时点击流分析。

3、系统监控与报警

与日志分析系统类似,我们需要收集系统指标以进行监控和故障排除。

区别在于指标是结构化数据,而日志是非结构化文本。指标数据发送到 Kafka 并在 Flink 中聚合。聚合数据由实时监控仪表板和警报系统使用。

4、CDC(变更数据捕获)

更改数据捕获 (CDC) 将数据库更改流式传输到其他系统以进行复制或缓存/索引更新。

Kafka 还是构建数据管道的绝佳工具,这意味着您可以使用它从各种来源获取数据、应用处理规则并将数据存储在仓库、数据湖或数据网格中。

例如,在下图中,事务日志发送到 Kafka 并由 ElasticSearch、Redis 和辅助数据库获取。

5、系统迁移

升级遗留服务具有挑战性——旧的语言、复杂的逻辑和缺乏测试。我们可以通过利用消息传递中间件来降低风险。

在下图中,为了升级下图中的订单服务,我们更新旧的订单服务以使用来自 Kafka 的输入并将结果写入 ORDER 主题。新订单服务使用相同的输入并将结果写入 ORDERNEW 主题。

调节服务比较 ORDER 和 ORDERNEW。如果它们相同,则新服务通过测试。

6、事件溯源

如果您将事件作为系统中的事实来源,那么存储应用程序的状态就是一系列事件,系统中的其他所有内容都可以根据这些持久且不可变的事件重新计算。

事件溯源就是捕获一系列事件中状态的变化。公司通常使用 Kafka 作为主要事件存储。如果发生任何故障、回滚或需要重建状态,您可以随时重新应用 Kafka 中的事件。

7、消息传递

Kafka 最好和最常见的用例之一是作为消息队列。Kafka 为您提供了一个可靠且可扩展的消息队列,可以处理大量数据。

我们可以将您的消息组织成“主题”,这意味着您将每条消息发布到一个特定主题,而另一方面,消费者将订阅一个或多个主题并消费其中的消息。

微服务之间解耦通信的最大优点是,您可以随时向这些事件添加新服务,而无需增加系统的复杂性或不必更改任何源代码。

8、提交日志

Kafka 可以充当分布式系统的一种外部提交日志。日志有助于在节点之间复制数据,并充当故障节点恢复数据的重新同步机制。

Kafka 中的日志压缩功能有助于支持这种用法。

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
30分钟搞定iOS自定义相机 最近公司的项目中用到了相机,由于不用系统的相机,UI给的相机切图,必须自定义才可以。就花时间简单研究...
Intel将Moblin社区控... 本周二,非营利机构Linux基金会宣布,他们将担负起Moblin社区的管理工作,而这之前,Mobli...