Nid*_*hal 3 apache-kafka apache-kafka-streams
我有一个主题,该主题在商店中被读取为GlobalKTable并已实现。问题是,如果我更新了该主题的键,然后从存储中读取,则有一段时间(〜0.5秒),我得到了旧值。
这个问题可能是什么原因?
全局表是否将每个应用程序实例的数据存储在rocksDB中,因此,如果更新了另一个分区上的键,则需要花费一些时间从所有分区中提取数据并更新其本地rocksDB。如果不是,请说明globalktable存储如何在内部维护其状态?
上述问题如何解决?在应该期望一致性与mysql数据库相匹配的这种情况下,我们不应该使用globalktable吗?
全局表是否将每个应用程序实例的数据存储在rocksDB中,因此,如果更新了另一个分区上的键,则需要花费一些时间从所有分区中提取数据并更新其本地rocksDB。如果不是,请说明globalktable存储如何在内部维护其状态?
绝对没错。直到Kafka Streams再次轮询主题并更新为本地RocksDB时,总会有一些延迟。
在应该期望一致性与mysql数据库相匹配的这种情况下,我们不应该使用globalktable吗?
这取决于您需要的保证-如果生产者将GlobalKTable主题写入并且写入成功,则不能保证Kafka Streams应用程序已使用此写入并已更新GlobalKTable。生产者和消费者在设计上是相互分离的。
| 归档时间: |
|
| 查看次数: |
234 次 |
| 最近记录: |