TGIP-CN 021: Pulsar 2.6.1 版本发布前瞻

展开查看详情

1.Pulsar 2.6.1 版本发布前瞻 TGIP-CN: 21 Xiaolong Ran && 2020/08/16 1

2. Who am I • 开源项⽬爱好者,Go 语⾔爱好者 • TiDB -> BitMain -> StreamNative • Apache Pulsar committer • Go Functions • pulsar-client-go • pulsarctl • … • https://github.com/wolfstudy 2

3.PIP-47: Time Based Release Plan PIP-47 2.4.0 2.4.2 2.5.1 2.6.0 2019/06 2019/12 2020/04 2020/06 2019/08 2020/01 2020/05 2020/08 2.4.1 2.5.0 2.5.2 2.6.1 coming soon 3

4.PIP-47: Time Based Release Plan 优点: 缺点: • 反馈周期快 • 错过版本发布的时间 • ⽤户可预测 • 发布次数 • 透明度(确定的发布⽇期) • ⽤户可能会频繁的进⾏升级 • ⾼质量(更多的测试) • 频繁发布引⼊更多的版本维护 https://github.com/apache/pulsar/wiki/PIP-47%3A-Time-Based-Release-Plan 4

5.PIP-47: Time Based Release Plan 5

6.PIP-47: Time Based Release Plan 6

7.PIP-69: Schema design for Go client • Mailing list: https://lists.apache.org/thread.html/ r0ecc6211d1d18dd2a9305504c12747e9c8d83e341c5d1fbec788469c%40 %3Cdev.pulsar.apache.org%3E • Impl • Producer • Consumer • Reader 7

8.Release 2.6.1 • 112 次 commits • Broker • Pulsar Functions • Go Function • Pulsar SQL • Schema • Java/CPP Client • Star: 6400+ • Fork: 1500+ • Contributors: 298 8

9.PR-7231:修复 Key_Shared 中 stick hash range 冲突的问题 Key_Shared: Error demo: 9

10.PR-7416:在 Key_Shared 中对 payload 进⾏解压缩 Code Example: Broker Exception: 10

11.PR-7589:修复在关闭 consumer 时的竞态条件 11

12.PR-7589:修复在关闭 consumer 时的竞态条件 Subscription 12

13.PR-7360: 使⽤标准主机名作为 worker 的默认值 Example: Test Result: 13

14.PR-7528: 修复 2.6.0 引⼊的向后兼容问题 • 向后兼容性 • Function Worker 与 Broker 分开部署 14

15.PR-7578: 优化 Pulsar Function 的加密配置 Enable TLS transport encryption Enable Authentication Provider: Enable Authorization Provider: 15

16.PR-7300: 在 pulsar-perf 中⽀持 tlsAllowInsecureConnection • Producer • Consumer • Reader 16

17.PR-7355: 处理在创建⾮持久性 cursor 时的错误 NPE Exception: 17

18.PR-7401:创建新 ledger 时引发 NPE ⽽导致⽣产者卡死的问题 问题: 解决: • 解析⽹络地址失败 • 捕获 NPE Exception • 超时任务添加的时机 • 触发超时任务时,执⾏回调 • 检测 CreationLedger 的状态 18

19.OAuth2 Authentication Providers: • TLS Authentication • Athenz • Kerbos • JSON Web Token Authentication 19

20.Support OAuth2 feature: • Java Client(Client version: 2.6.1+) • CPP Client • Go Client • pulsar-admin • pulsar-perf • pulsar-client • pulsarctl(CLI && admin API) 20

21.PR-7401:完善 Window Function 相关的⽂档 Time window Count window 21

22.PR-7401:完善 Window Function 相关的⽂档 22

23.PR-7401:完善 Window Function 相关的⽂档 • Trigger • Evictor • Watermark 23

24.Q && A 24

StreamNative 是一家围绕 Apache Pulsar 和 Apache BookKeeper 打造下一代流数据平台的开源基础软件公司。秉承 Event Streaming 是大数据的未来基石、开源是基础软件的未来这两个理念,专注于开源生态和社区的构建,致力于前沿技术。