gpt4 book ai didi

apache-kafka - Apache Kafka 状态存储

转载 作者:行者123 更新时间:2023-12-05 08:39:26 27 4
gpt4 key购买 nike

我正在学习 Apache Kafka(作为消息系统),并且在这个过程中了解了术语 StateStorelink here

我也知道客户端 API Apache kafka streams

StateStore 适用于消息系统上下文中的 Apache kafka 还是适用于 Apache Kafka Streams

Apache 是否有他们“自己的”StateStore 实现或使用第三方实现(例如,rockdsb

任何人都可以帮助我理解这一点。

最佳答案

good concise explanation 添加概述关于 Kafka Streams 上下文中的 StateStore 和您的问题。

Kafka Broker 简介

在消息传递上下文中,您的工作将简化为:

  1. 发布状态(生成消息)

  2. 将消息保存一段时间供以后消费(保留时间)

  3. 消费状态(获取消息)

简而言之,#2 加上容错和跟踪消费者组的读取位置(偏移量)是 Kafka 经纪人为您做的。

Kafka 客户端 API

除此之外,Kafka 还为您处理消息的常见模式提供了客户端库:

  • 生产者 - 向 Kafka 主题发布消息

  • 消费者 - 订阅 Kafka 主题

  • Connect - 创建与外部存储(例如各种 DBMS)的可靠集成。

  • Streams - DSL 和实用程序旨在简化常见流应用程序模式的开发。

  • Admin - 以编程方式管理/监控 Kafka 资源。

Kafka Streams 状态存储

我将引用 Streams Architecture docs 中的精彩解释(我强烈推荐 Kafka 文档,因为它们构建得非常好,适用于任何级别的经验)。

Kafka Streams provides so-called state stores, which can be used by stream processing applications to store and query data, which is an important capability when implementing stateful operations. The Kafka Streams DSL, for example, automatically creates and manages such state stores when you are calling stateful operators such as join() or aggregate(), or when you are windowing a stream.

如您所见,StateStore 用作将内置功能从单个消息处理上下文扩展到多消息处理的帮助程序,从而在一堆消息上启用更复杂的功能(在一个时间窗口中传递的所有消息,对多条消息的聚合函数等)

我要补充一点,RocksDB 是 Kafka 使用的默认实现,可以按照前面的回答中提到的进行更改。

此外,如果您想探索更多信息,请点击此处链接到 Apache Kafka 官方文档中的精彩介绍视频:

祝您学习愉快!

关于apache-kafka - Apache Kafka 状态存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59514083/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com