

Kafka 除了用作消息队列还能干吗?
source link: https://www.51cto.com/article/779150.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Kafka 除了用作消息队列还能干吗?
Kafka 最初是为大规模处理日志而构建的。它可以保留消息直到过期,并让各个消费者按照自己的节奏提取消息。
与其之前的竞品不同,Kafka 不仅仅是一个消息队列,它还是一个适用于各种情况的开源事件流平台。
让我们回顾一下流行的 Kafka 用例。

01 日志处理和分析
上图显示了一个典型的 ELK(Elastic-Logstash-Kibana)栈。Kafka 从每个服务实例高效地收集日志流。ElasticSearch 从 Kafka 中获取日志并编制索引。Kibana 在 ElasticSearch 的基础上提供搜索和可视化用户界面。
02 推荐系统中的数据流
亚马逊等电子商务网站利用用户过去的行为和相似用户分析来计算产品推荐。Kafka 传输原始点击流数据,Flink 对其进行处理,而模型训练则消耗数据湖中的汇总数据。这样就能不断改进针对每个用户的推荐相关性。
03 系统监控和警报
与日志分析系统类似,我们需要收集系统指标来进行监控和故障排除。不同的是,指标是结构化数据,而日志是非结构化文本。指标数据被发送到 Kafka 并在 Flink 中聚合。实时监控仪表板和警报系统(如 PagerDuty)将使用汇总的数据。
04 CDC(Change Data Capture)
CDC 将数据库的变更传输到其他系统,以便复制或更新缓存/索引。例如,在下图中,事务日志被发送到 Kafka,并被 ElasticSearch、Redis 和二级数据库摄取。
05 系统迁移
升级旧服务是一项具有挑战性的任务,比如编程语言陈旧、逻辑复杂、缺乏测试等等。我们可以利用消息中间件来降低风险。如上图所示,为了升级订单服务,我们更新了旧订单服务,以便从 Kafka 中消费输入,并将结果写入 ORDER Topic。新订单服务消耗相同的输入,并将结果写入 ORDERNEW Topic。对账服务会比较 ORDER 和 ORDERNEW 下收到的内容。如果它们完全相同,新服务就会通过测试。
Recommend
-
93
Kafka 是 LinkedIn 公司的一款开源 MQ。在没有 Kafka 之前,大部分的业务与业务之间都是通过端对端的连接,错综复杂。 试想用一种极为简单的 Pipeline 将这些数据...
-
24
-
18
先看效果图(在线电脑尝试地址 ...
-
5
当我们使用Spring Initializr来创建Spring Boot工程的时候,有没有发现在工程根目录下有两个名为 mvnw 的文件:
-
13
随着用户规模迅速扩张,业务场景越来越多,对消息产品功能要求高,如死信队列、延迟队列、 消费重置、消息查看等;写消息的延迟和稳定性要求也越来越高。 如有相对更加丰富的功能,可以节省很多时间,同时提升业务开发效率。 Kafka 方案...
-
9
消息队列之kafka 消费者的Offset管理 发表于 2021-01-21 ...
-
10
本文介绍在微服务架构中,常用于服务与服务之间的异步通信组件kafka。 kafka Kafka是由Apache软件基金会开发的一个开源流处理平台,是一种高吞吐量的分布式发布订阅消息系统。 在系统或应用程序之间构建可靠...
-
9
技术分享| 消息队列Kafka群集部署 推荐 原创 Kafka是最初由Linkedin公司开发,是一个分布式、分区的、多副本的、多订阅者,基于...
-
37
docker hub 怎么访问不了了?这些人是闲的没事干吗? V2EX › 程序员...
-
4
KIP-932:Kafka用作一个简单的队列 简单队列要求:无消息排序要求想使用Kafka作为一个...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK