-
产品动态
-
新增 PIP
-
新增功能
-
Bug 修复
-
周边生态
-
-
社区动态
-
海内外社区动态
-
技术干货
-
产品动态 >>> 新增 PIP????♂️PIP 57 :优化 Broker 端连接 ZooKeeper 的会话超时在 Pulsar 中,Broker 使用 Zookeeper 来管理和维护元数据,我们称之为全局 Zookeeper 和本地 Zookeeper。全局 Zookeeper 维护 namespace 策略,集群元数据和 topic 元数据。为了减少在 Zookeeper 上的读操作,每个 broker 都会缓存全局 Zookeeper 的数据。全局 Zookeeper 会缓存 znode 的改变。当前会话超时发生在全局 Zookeeper 上时,会开启一个新会话,此时 broker 没有在全局 Zookeeper 上创建任何 `EPHEMERAL` 节点。本地 Zookeeper 维护本地的集群元数据,像 broker 端的负载均衡、topic 关系数据、managed ledger 元数据和 bookie 机架信息。所有 broker 的负载均衡和 topic 的关系数据都会基于本地 Zookeeper 创建 `EPHEMERAL` 节点。当前在本地 Zookeeper 上发生会话超时时,broker 会作 shutdown 处理。Broker 的 shutdown 会导致 topic 属主关系发生改变。这时会话超时在一些场景下就会触发一些问题。例如 broker 长时间 JVM 暂停,本地 Zookeeper 负载变高。尤其是后者,可能会触发连锁反应。因此这个提案的目的是优化在本地 Zookeeper 上的会话超时处理来避免不必要的 broker 端的 shutdown。更多信息可查看邮件讨论:
https://lists.apache.org/thread.html/r1f0de583a2d02f9aeff0cadc2bab0fcfb41bf092cfdc7ff4cc9ed1bc%40%3Cdev.pulsar.apache.org%3EPIP 详情参考:https://github.com/apache/pulsar/wiki/PIP-57%3A-Improve-Broker%27s-Zookeeper-Session-Timeout-Handling ????♂️PIP 55:认证证书刷新增强 Pulsar 的身份认证框架,当客户端证书过期时候需要客户端强制重新认证。典型的场景有:
-
TLS 证书过期
-
JWT 的过期设置
-
其他基于 Token 的系统
https://github.com/apache/pulsar/wiki/PIP-55%3A-Refresh-Authentication-Credentials????♂️PIP 54:支持按照批级别来做 acknowledgment当前 managed cursor 通过标记删除位置来维护做过 ack 的消息。但是这都会面临在批消息下的问题。 用户以单条消息为单位进行生产和消费,由于批 managed cursor 没有维护批消息的本地索引,因此用户可能会面临当消费批消息时,做了 nack,会再次收到消息的问题。这个 PIP 旨在跟踪每个批的索引状态来避免上面的问题。更多信息可查看邮件讨论:
https://lists.apache.org/thread.html/rdcc306653be6ac6d910e7302096ddae8e1a9e563df20cf6ca73085de%40%3Cdev.pulsar.apache.org%3E PIP 详情参考:
https://github.com/apache/pulsar/wiki/PIP-54:-Support-acknowledgment-at-batch-index-level>>> 新增功能
-
在 Namespace 级别支持 offloader。
https://github.com/apache/pulsar/pull/6183 -
支持在拆分 bundle 的时候对 topic 进行均匀绑定。
https://github.com/apache/pulsar/pull/6241 -
在 namespace 的策略中增加 maxUnackedMessagesPerSubscription 和 maxUnackedMessagesPerConsumer。
https://github.com/apache/pulsar/pull/5936 -
支持对分区 topic 进行 unload 操作。
https://github.com/apache/pulsar/pull/6187 -
在 Consumer 的统计信息中暴露 lastConsumedTimestamp 和 lastAckedTimestamp。
https://github.com/apache/pulsar/pull/6051 -
在 Go Function 中增加心跳检查。
https://github.com/apache/pulsar/pull/6031
-
升级 ZooKeeper 到 3.5.7 来解决脑裂问题。
https://github.com/apache/pulsar/pull/6329
-
修复日志压缩的一些问题,包括空 topic、流控等。
https://github.com/apache/pulsar/pull/6237
-
修复 backlog 中的消息由于没有过期就被删除的问题。
https://github.com/apache/pulsar/pull/6211
-
一些与 Helm charts 有关的优化,包括 Proxy、部署模板、dashboard-ingress、JVM 和 GC 配置,Grafana ingress,增加 RBAC 策略等,详情如下:
-
https://github.com/apache/pulsar/pull/6158
-
https://github.com/apache/pulsar/pull/6148
-
https://github.com/apache/pulsar/pull/6160
-
https://github.com/apache/pulsar/pull/6201
-
https://github.com/apache/pulsar/pull/6280
-
https://github.com/apache/pulsar/pull/6191
-
-
修复在 HttpLookupService 中后去 schema 版本的问题
https://github.com/apache/pulsar/pull/6193
-
增加消息到批时,修复可能会出现重复的问题
https://github.com/apache/pulsar/pull/6326
-
Pulsar DotNet 客户端 0.13.0 发布,支持多 ServiceUrl 配置
https://www.nuget.org/packages/Pulsar.Client/
-
Pulsar Node 客户端发布 1.1.0 版本https://lists.apache.org/thread.html/r12ae256d7b8ed91bb5436d9d35a5b70677a041c7558c77dd37740e65%40%3Cdev.pulsar.apache.org%3E
社区动态同时前三期文字内容回顾的技术内容,可点击以下文章直接查看:
-
EP-001????????Pulsar Basic
-
EP-002????????Message Lifecycle
-
EP-003????????Topic Discovery, ServiceURL and Cluster
技术干货点击以上文章可直接点击进行阅读。
以上就是 2 月份的脉动之旅。希望各位小伙伴们在保护好身体的同时,也可以多多参与到我们的直播中来。最后感谢大家一直以来的支持!Apache Pulsar 社区鼓励大家积极参与开源社区,无论是文档、代码、翻译,还是技术博客,都欢迎大家积极参与,早日成为 Pulsar contributor,一起加油鸭。如果你对 Pulsar Contribute 的流程不太熟练,也可以参考我们这篇小教程《新手向|非技术人员如何参与 Pulsar 项目进行贡献》,让你熟悉如何通过 GitHub 对 Pulsar 进行贡献。 参与贡献项目可选: 1. Apache Pulsar 项目:
https://github.com/apache/pulsar2. Pulsar 技术文档翻译:
https://github.com/apache/pulsar-translation