Kafka Streams Materialization 如何工作?
How does Kafka Streams Materialization work?
问题 1:我了解到 Kafka Streams 的所有有状态操作(例如聚合、计数等)都会在客户端实例上创建一个状态存储。当我们使用 Materialized.with 或 Materialized.as 以及有状态操作时有什么区别。它仅用于交互式查询吗?或者,当我们只调用有状态操作与使用物化视图调用有状态操作时,内部是否还有其他事情发生?
问题 2:当 num.standby.replicas > 0 时内部会发生什么?是复制了变更日志主题还是仅复制了状态存储?副本如何获取更改?复制是如何进行的?
What is the difference when we use Materialized.with or Materialized.as along with stateful operation.
Materializes.as()
设置商店名称,从而使商店能够进行交互式查询它还会影响基础变更日志主题的名称,因此您不应为已部署的应用程序更改它。除此之外,没有区别。
What happens internally when num.standby.replicas > 0 ? Is the changelog topic replicated or only the state store is replicated?
更改日志主题是根据 broker/topic 配置 replication.factor
复制的。备用任务的数量与 changelog 主题复制无关,但仅用于客户端状态存储复制。备用任务,读取更改日志主题(活动任务写入的)以维护复制状态。
问题 1:我了解到 Kafka Streams 的所有有状态操作(例如聚合、计数等)都会在客户端实例上创建一个状态存储。当我们使用 Materialized.with 或 Materialized.as 以及有状态操作时有什么区别。它仅用于交互式查询吗?或者,当我们只调用有状态操作与使用物化视图调用有状态操作时,内部是否还有其他事情发生?
问题 2:当 num.standby.replicas > 0 时内部会发生什么?是复制了变更日志主题还是仅复制了状态存储?副本如何获取更改?复制是如何进行的?
What is the difference when we use Materialized.with or Materialized.as along with stateful operation.
Materializes.as()
设置商店名称,从而使商店能够进行交互式查询它还会影响基础变更日志主题的名称,因此您不应为已部署的应用程序更改它。除此之外,没有区别。
What happens internally when num.standby.replicas > 0 ? Is the changelog topic replicated or only the state store is replicated?
更改日志主题是根据 broker/topic 配置 replication.factor
复制的。备用任务的数量与 changelog 主题复制无关,但仅用于客户端状态存储复制。备用任务,读取更改日志主题(活动任务写入的)以维护复制状态。