Pulsar namespace 策略的简单小介绍
首先来简单回顾下上周 Pulsar 的动态:
Set message TTL on topic level
https://github.com/apache/pulsar/pull/7738Set retention on topic level
https://github.com/apache/pulsar/pull/7747Support consume transaction messages
https://github.com/apache/pulsar/pull/7781Support subscription position and expose the producer setting
https://github.com/apache/pulsar/pull/7772Pulsar 2.6.1 版本即将发布,敬请期待!
Namespace policies 概况
Namespace policies 和一些源数据是存储在 Global ZooKeeper 中,具体操作和源码部分,可以参考视频回放 11:00-12:55 部分。
🔧 隔离
几种 policy 机制介绍
💻 Retention_policies
retentionTimeInMinutes retentionSizeInMB
💻 Message_ttl_in_seconds
由于后边未开始被消费的订阅还没有处理完全,所以仍需要进行操作。这些未处理消息没有被删除,但是所有的 consumer 均已下线,那么消息是永远不会被确认的。这样消息就会被一直累积。
💻 Replication_clusters
此 policy 主要应用于跨地域复制特性中。
此类 policy 都会在达到最大限制后,收到相关提示命令。关于此 max 系列类的 policy Demo 展示,可以参考视频回放 29:30-33:40 时间段。
💻 Backlog_quota_map
存在 backlog 里的消息,可以有 3 种 Retention Policy:
`Producer_request_hold`: producer 将进入等待状态,broker 将不会将 message 持久化
`Producer_exception`: broker 将断开 producer 的链接并且返回给客户端相应的错误
`Consumer_backlog_eviction`: 客户端开始丢弃积压消息
总结
👍 往期文章推荐 👍