如果 num.standby.replicas = 4,GlobalKTable 是否等同于 KTable?

Is GlobalKTable equivalent to KTable if num.standby.replicas = 4?

假设我们有 4 个 Kafka 流实例执行有状态操作,如果 num.standby.replicas = 4,这个配置不等于使用 GlobalKTable 而不是 KTable 吗?

不是真的。

的确,GlobalKTable 所有分区在每个 Kafka Streams 应用程序实例上都完全可用。但是 GlobalKTable 的用例是保存相对静态的数据,用户可以利用这些数据来丰富 KStream 的连接。

此外,您无法使用 GlobalKTable 执行任何有状态操作,并且 return 和 GlobalTable 也没有。因此,为了在丢失应用程序实例时快速 return 处理,您仍然需要使用备用副本。