[英]Kafka stream KTable changelog TTL
比方說,我有一個A-Event
KStream聚集到一個A-Snapshot
KTable和B-Event
KStream聚集到B-Snapshot
KTable。 A-Snapshot
或B-Snapshot
均不傳遞空值(而是將刪除事件匯總為快照的狀態屬性)。 在這一點上,我們可以假設我們有一個持久化的kafka changelog主題和一個針對A-KTable
和B-KTable
聚合的rocksDB本地存儲。 然后,我的拓撲將A-KTable
與B-KTable
以產生結合的AB-KStream
。 就是說,我的問題在於A-KTable
和B-KTable
物化生命周期(changelog主題和本地rockdb存儲)。 假設A-Event
主題和B-Event
主題保留策略設置為2周,是否可以通過上游事件主題刪除保留策略來副作用kafka內部KTable實現實例保留策略(changelog和RocksDB)? 否則,我們是否可以使用某種保留策略來配置KTable實現,以同時管理changelog主題和rockdb存儲生命周期? 考慮到我不能顯式發出A-KTable
和B-KTable
快照邏輯刪除? 我擔心變更日志和本地存儲將無限期增長,..,
目前,KStream不支持開箱即用的功能,無法根據源主題保留策略在Changelog主題中注入清除內容。 默認情況下,它使用“緊湊”保留策略。
有一個相同的公開JIRA問題: https : //issues.apache.org/jira/browse/KAFKA-4212
一種選擇是注入邏輯刪除消息,但這不是好方法。
如果使用窗口存儲,則可以使用“壓縮,刪除”保留策略。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.