簡體   English   中英

Pulsar 消息總線:我們可以為每個主題配置消息保留嗎?

[英]Pulsar message bus: Can we configure message retention per topic?

我們有一個用例,我們的消息處理器通過對來自少數主題的消息進行非常復雜的計算來處理消息。 這些計算未在配置的租用期內完成。 我們可以為少數幾個需要將消息保留更長時間的主題設置此設置,而不是增加所有主題的全局消息保留時間嗎? 每個主題的消息保留是可能的嗎?

這正是命名空間設計的用例。 在 Pulsar 中,命名空間是租戶中包含主題子集的管理單元。 在命名空間上設置的配置策略適用於在該命名空間中創建的所有主題。 解決此問題的最佳方法是使用 REST API 或pulsar-admin CLI 工具來創建新的命名空間,例如

pulsar-admin namespaces create <current-tenant>/<a-new-namespace>

一旦有了新的命名空間,您就可以使用 CLI 工具為新命名空間配置保留策略,例如

$ pulsar-admin namespaces set-retention <current-tenant>/<a-new-namespace> \
  --size -1 \
  --time -1

最后,您需要在新命名空間中重新創建主題,並更改您的代碼以使用這些新主題。

如果您使用該主題的訂閱,則不必擔心消息保留。 訂閱積壓中的消息在被確認之前不會被刪除,無論保留設置如何。 只需在客戶端使用 Consumer 接口,並在計算完成后確認每條消息。

有關保留和訂閱積壓的更多詳細信息,請參閱了解 Pulsar 消息 TTL、積壓和保留

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM