Apache Pulsar 社区周报:09-26 ~ 10-09
关于 Apache Pulsar
Apache Pulsar 是 Apache 软件基金会顶级项目,是下一代云原生分布式消息流平台,集消息、存储、轻量化函数式计算为一体,采用计算与存储分离架构设计,支持多租户、持久化存储、多机房跨区域数据复制,具有强一致性、高吞吐、低延时及高可扩展性等流数据存储特性。
GitHub 地址:http://github.com/apache/pulsar/
导语
各位小伙伴们,Pulsar 社区周报带着假期期间的更新来啦!
在阅读周报之前,大家记得把活动加入日程哦:10 月 15 日,即周四晚上 8-9 点,Apache Pulsar PMC 翟佳将在分享 Apache Pulsar 架构与最新技术进展,以及云原生时代下消息流系统的技术发展。观看[直播](https://live.bilibili.com/22230973)参与活动还可以获得 Pulsar t 恤和周边哦。
本次 Pulsar 社区周报,为大家呈现 Pulsar client、broker、Pulsar Admin、Pulsar Functions、Pulsar schema 等内容,帮助社区小伙伴们掌握 Pulsar 项目及社区每周进展,也方便大家更好地参与到 Pulsar 社区中来!
感谢本周以下小伙伴为 Apache Pulsar 添砖加瓦(排名不分先后,看看你有没有上榜):
接下来,一起看看 09-26 ~ 10-09 有哪些值得你关注的进展吧!
重要进展
- 因为 PR 较多,仅列举较大 PR 进展,不包括当周全部动态
- 下面 PR 均已合入 Pulsar 主分支
[Client] 改进 ClientCnx 的超时处理,对目前所有不处理超时的请求进行超时处理。
[Broker] 拦截发送给消费者的消息,并支持抛出相关异常。
[pulsar-admin] 支持删除与集群关联的数据。
[Broker] 跳过拦截 multipart 请求。
[Common] 支持在 brokerServiceUrl 中指定多个 IPv6 主机地址。
[Broker] 添加 getLastMessageId 至 Pulsar Admin API(V1) 。
[pulsar-admin] 添加 CLI 命令,获取最新消息 ID。
[Admin] 支持同时删除 topic 和 schema ledger。
[Broker] 添加相关 CLI 命令行,支持从 ZooKeeper 集群中删除 metadata。
[Functions] 支持禁用转发源消息属性。
[Broker] 支持禁用复制的订阅。
[Common] 添加 ChannelFutures 实用类至 CompletableFuture。
[Broker] 在设置自动读取之前检查空指针。
[Python Client] 更新构建 docker 镜像的脚本,使 Python 客户端正常工作。
[IO] 添加 org.apache.pulsar.io.core.Context 接口。
[Client] 使能 TLS 的 Pulsar Java broker 客户端支持 SNI。
[Admin] 支持获取 topic 的内部统计信息和 ledger metadata。
[Broker] 为 namespace 级别的 TTL 添加新的状态。
[Python Client] 暴露 batchingType 接口。
[Broker] 清理不活跃的非持久化订阅。
[Topic Policy] 检查空指针,以避免 internalSetTopicPolicies 的空指针异常。
[C++ Client] 为 C++ 客户端 HandleBase 添加 epoch,用于处理创建生产者时产生的超时问题。
[Dashboard] 修复 Django 模型中 consumerName 迁移的问题。
[Go Client] 修复 pulsarProducerSendCallbackProxy 的参数类型。
[Functions] 将用户定义的参数传播到 Pulsar Go Functions的实例中。
[Bookie] 在 bookkeeper.conf 文件中暴露 ensemblePlacementPolicy。
[Broker] 仅在配置拦截器时,支持拦截过滤器。
[Python Client] 为 Python schema 字段添加默认值。
重要 Bug 修复
- 因修复内容较多,仅列举较重要修复内容,不包括本周全部动态
- 下面修复均已合入 Pulsar 主分支
[C++ Client] 修复 testIndividualAck 单元测试不稳定的问题。
[Client] 修复 ConsumerImpl 内存泄露的问题。
[Broker] 修复服务单元未就绪时返回 Pulsar 客户端错误码的问题。
[Schema] 修复启动 BookkeeperSchemaStorage 时可能产生的空指针异常问题。
[Admin] 修复订阅名称不存在时无法查看消息的问题。
[Client] 修复暂停消费的消费者重新连接到 broker 时仍会收到新消息的问题。
[Broker] 修复关闭 Pulsar 服务时引发的异常。
[Schema] 修复 JSON schema 会将字节反序列化为字符串的问题。
活动和新闻
[TGIP] 每周直播:Pulsar 及其生态系统
[TGIP-CN] 每周直播:Pulsar 及其生态系统
[教学视频] Broker Routing by Jesse Anderson
活动预告
- Pulsar 2020 亚洲峰会演讲征集延期到10月21日,部分嘉宾仍在精心准备,希望大家尽快提交哟!
- 演讲提交: https://sessionize.com/pulsar-summit-asia-2020
- 10 月 27 日:线上研讨会 Low-Latency Stream Processing with Jet
主讲人:Can Gencer,Director of Engineering at Hazelcast
- 10 月 21 日:FlinkForward:“Flink + Pulsar: The Path To Unified Batch and Streaming”
主讲人:Addison Higham,StreamNative 高级工程师
推荐阅读
博客:Building An Event-Driven Orchestration Engine
作者:Gilles Barbier
博客:Pulsar Function Deep Dive
作者:Sanjeev Kulkarni
作为全球性开源项目,截至 2020 年 10 月 09 日,Apache Pulsar 已拥有超出 300 名贡献者、6.6K+ Star 、1.6K+ Fork 。正是由于分布在全球各地的社区开发者的贡献,才使得 Apache Pulsar 项目不断发展与前进。
让我们期待下一周的 Apache Pulsar 周报!
如果你也想为 Apache Pulsar 项目出一份力、成为我们的 Contributor,参考下面链接,来加入我们吧: