在 Pulsar 中,有没有办法清理没有附加消费者的旧的持久订阅?

Posted

技术标签:

【中文标题】在 Pulsar 中,有没有办法清理没有附加消费者的旧的持久订阅?【英文标题】:In Pulsar is there a way to clean-up old durable subscriptions that do not have a consumer attached? 【发布时间】:2021-11-01 04:29:45 【问题描述】:

我有一个 Spark 应用程序,它留下了对 Pulsar 的持久订阅,当所有消费者实际上都是最新的时,我的积压工作似乎在增加。有没有办法使不再使用的订阅(即未附加到消费者)过期或删除,而让其他订阅(其中一些可能闲置)不理会?

【问题讨论】:

【参考方案1】:

您可以使用以下 CLI 命令在全局 broker.conf 中或在命名空间级别配置 Pulsar 以使没有消费者连接的订阅过期:

bin/pulsar-admin namespaces set-subscription-expiration-time

Set subscription expiration time for a namespace
Usage: set-subscription-expiration-time [options] tenant/namespace
  Options:
  * -t, --time
      Subscription expiration time in minutes
      Default: 0

将此设置为非零值会启用该功能。

【讨论】:

以上是关于在 Pulsar 中,有没有办法清理没有附加消费者的旧的持久订阅?的主要内容,如果未能解决你的问题,请参考以下文章

pulsar bookies清理磁盘方法

通过 Pulsar 源码彻底解决重复消费问题

Pulsar 消费者中“最新”和“最早”的意外行为

Pulsar 中的意外积压大小

Pulsar

取消订阅 Apache pulsar 共享订阅类型