pulsar消息总线:我们可以为每个主题配置消息保留吗?

ntjbwcob  于 2021-06-30  发布在  Java
关注(0)|答案(2)|浏览(378)

我们有一个用例,在这个用例中,我们的消息处理器对来自少数主题的消息进行非常复杂的计算来处理消息。这些计算未在配置的租用期内完成。我们是否可以为需要保留更多时间的少数主题设置此选项,而不是在全局范围内增加所有主题的消息保留?是否可以按主题保留邮件?

w80xi6nr

w80xi6nr1#

这正是名称空间设计的用例。在pulsar中,名称空间是租户中包含主题子集的管理单元。在命名空间上设置的配置策略应用于在该命名空间中创建的所有主题。解决这个问题的最佳方法是使用restapi或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

最后,您需要在新名称空间中重新创建主题,并更改代码以使用这些新主题。

643ylb08

643ylb082#

如果使用主题订阅,则不必担心邮件保留问题。无论保留设置如何,订阅积压工作中的消息在得到确认之前不会被删除。只需在客户机中使用consumer接口,并在计算完成后确认每条消息。
有关保留和订阅积压的更多详细信息,请参阅了解pulsar消息ttl、积压和保留

相关问题