我试图找出从 Pulsar 主题中删除所有消息(无论是逻辑上还是物理上)的最佳方法是什么,以便它们不再可以通过订阅使用?
我知道我们可以简单地做到$ pulsar-admin persistent delete persistent://tenant/namespace/topic。
但是,这个解决方案有一些缺点:它完全删除了主题(因此我们必须稍后重新创建它),然后不应该有活动的客户端连接到它(即:订阅或生产者)。
或者,是否有一种方法可以以编程方式使两个 MessageId 之间的所有消息对订阅不可用?
谢谢
小智 5
有几个选项可供您选择。
您可以使用topics skip跳过给定主题的特定订阅的 N 条消息。https://pulsar.apache.org/docs/en/admin-api-persistent-topics/#skip-messages
您可以用于topics skip-all跳过给定主题的特定订阅的所有旧消息。https://pulsar.apache.org/docs/en/admin-api-persistent-topics/#skip-all-messages
您可以用来topics clear-backlog清除特定订阅的积压。它与 相同topics skip-all。
您还可以使用topics reset-cursor将订阅光标移至特定消息 ID 或时间戳。
| 归档时间: |
|
| 查看次数: |
4188 次 |
| 最近记录: |