繁体   English   中英

Kafka Streams 中流流连接的默认 WindowBytesStoreSupplier 是什么?

[英]What is the default WindowBytesStoreSupplier for stream-stream join in Kafka Streams?

新的 API 具有以下特征:

join(KStream<K,VO> otherStream, ValueJoiner<? super V,? super VO,? extends VR> joiner, JoinWindows windows, StreamJoined<K,V,VO> streamJoined)

如果我只使用StreamJoined<K,V,VO> streamJoined参数设置商店名称,那么WindowBytesStoreSupplierretentionPeriodwindowSizeretainDuplicates方面的默认配置是什么? 从文档中不清楚。 这是在 memory state 商店吗? 还是 Kafka Streams 配置的默认配置?

如果您仅使用StreamJoined设置商店名称,则:

  1. windowSize来自您提供的JoinWindows配置 object。 即使您使用自定义WindowBytesStoreSupplier ,Kafka Streams 也会验证供应商 window 设置是否与提供的JoinWindows object 的设置相匹配。 所以JoinWindows.of(Duration.ofSeconds(30))windowSize等于30000毫秒。
  2. retentionPeriod期是 window 大小 + 宽限期。 默认宽限期为 24 小时。
  3. retainDuplicates配置为true 但即使在提供自定义StoreSupplier时, retainDuplicates字段也必须设置为true
  4. 存储类型是持久化(RocksDB)存储,由 Kafka Streams 配置,如上所述。

另外,请注意,使用StreamJoined ,您现在可以为连接的双方提供自己的StoreSupplier ,因此可以拥有内存存储。

高温下,

账单

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM