apache-kafka - GlobalKTable 刷新逻辑
问题描述
当对 a 的基础主题进行更新时GlobalKTable
,所有应用程序实例KStream
获取最新数据的逻辑是什么?以下是我的后续问题:
GlobalKTable
当更新发生时,是否会被锁定在记录级别或表级别?- 根据这篇博客:Kafka GlobalKTable Latency Issue,延迟可以达到 0.5s 吗?!如果是这样,有没有其他方法可以减少延迟?
- 由于
GlobalKTable
默认使用 RocksDB 作为状态存储,RocksDB 的所有功能都可以使用吗?
我了解GlobalKTable
不应将其用于需要频繁更新查找数据的用例。是否有任何其他键值存储可用于可能需要更新表数据的用例 - 例如 Redis?
我找不到太多关于GlobalKTable
其内部结构的文档。有可用的文件吗?
解决方案
GlobalKTables 是异步更新的。因此,无法保证不同实例何时更新。
此外,“全局线程”使用专用的“全局使用者”,您可以单独微调以减少延迟:https ://docs.confluent.io/current/streams/developer-guide/config-streams.html#naming
RocksDB 通过 JNI 集成,JNI 接口并没有暴露 RocksDB 的所有功能。此外,“表”抽象“隐藏”了 RocksDB,因此有些扩展。rocksdb.config.setter
但是,您可以通过( https://docs.confluent.io/current/streams/developer-guide/config-streams.html#rocksdb-config-setter )调整 RocksDB 。
推荐阅读
- python-3.x - Python3 - ValueError:没有足够的值来解包(预期 3,得到 2)
- python - Django form.is_valid() 每次都返回 false
- python - 准确率停留在 50% Keras
- javascript - 与 NodeJS 和 Webpack 反应 - 捆绑的 js 大文件大小
- android - 将值从活动传递到接口方法并在片段android中检索时出现NullPointer异常
- java - While 循环按预期多执行一次
- laravel - 码头工人。在卷中创建卷
- mysql - 加快sql INNER JOIN和LEFT JOIN组合语句
- azure - Azure 自动化:存储凭据的最佳方式?
- spring-boot - 无法识别会话到期并重定向到会话到期页面