作者:StreamNative 文档工程师刘昱、软件工程师张勇。

关于 Apache Pulsar

Apache Pulsar 是 Apache 软件基金会顶级项目,是下一代云原生分布式消息流平台,集消息、存储、轻量化函数式计算为一体,采用计算与存储分离架构设计,支持多租户、持久化存储、多机房跨区域数据复制,具有强一致性、高吞吐、低延时及高可扩展性等流数据存储特性。
GitHub 地址:http://github.com/apache/pulsar/

在 Apache Pulsar 2.6.3 版本发布后的 2 个月,2021 年 3 月 18 日,Apache Pulsar 正式发布了 2.7.1 版本!

Apache Pulsar 2.7.1 版本新增诸多优化改进,修复大量漏洞,覆盖 Broker、Proxy、Pulsar Perf、Transaction、Pulsar Admin、Pulsar SQL、Client、Function、Pulsar IO 和 Tiered Storage 等方面,进一步丰富和完善 Apache Pulsar 作为云原生流数据平台的能力。

Apache Pulsar 2.7.1 版本总共接受了来自社区约 717 个 commits,合并社区约 210 个 PR,越来越多的小伙伴开始参与到 Pulsar 社区建设中,成为 contributor 的一员。不少代码和文档贡献来自于中国开发者,中国力量越发迅猛。

以下为你详细解读 Apache Pulsar 2.7.1 版本重要的优化改进漏洞修复

Broker

优化 schema 比较的逻辑

在 2.7.1 之前,Pulsar schema 通过将 schema 转换为 bytes 的方式比较 schema 类型。上传 schema 时,如果 schema 含有空格或者换行符,会造成 schema 类型不兼容。在 2.7.1 版本中,Pulsar schema 使用 equals 来比较 schema 类型,因此不会造成 schema 类型不兼容。

更多信息,查阅 PR-9612[1]

在 token 过期前发送报警

在 2.7.1 之前,token 即将过期时,Pulsar 没有相关报警,启用了 token 认证的客户端没有相关指标来查询它的连接状态,而且无法判断是否是 token 过期造成的问题。在 2.7.1 中,Pulsar 提供了 expiredTokenMetrics 和 expiringTokenMinutesMetrics 指标,监控即将过期的 token 状态。

更多信息,查阅 PR-9321[2]

修复 system topic 无法自动创建

在 2.7.0 中,如果关闭了自动创建 topic,相应 namespace 下的 system topic 也无法自动创建。Topic policy 功能依赖 system topic,所以会导致 topic policy 不能使用。在 2.7.1 中,system topic 不受控于 topic 的自动创建。

更多信息,查阅 PR-9272[3]

修复获取不存在 topic 分区信息时的报错信息

使用 pulsar-admin 获取一个不存在 topic 的分区信息时,broker 会返回 0 并且没有任何报错信息。在 2.7.1 中,获取一个不存在的 topic 时,Pulsar 会报错并告知该 topic 不存在。

更多信息,查阅 PR-8818[4]

支持清除 topic backlog 时清除延迟消息

在 2.7.1 之前,如果在发送带有延迟消息时清除 topic backlog,延迟消息不会被清除。2.7.1 修复了该问题。

更多信息,查阅 PR-8691[5]

Proxy

修复了 bindAddress 不生效的问题

在 2.7.1 之前,bindAddress 对 webPort 生效,但对 servicePort 不生效。2.7.1 修复了该问题,使 bindAddress 对两个端口都生效。

更多信息,查阅 PR-9068[6]

修复了认证错误信息不准确的问题

Proxy 在返回错误给客户端时,会将所有错误类型都以 ServiceNotReady 返回给客户端,客户端会将这个错误转换成 LookupError 来处理,这会导致客户端收到的错误信息不准确,并造成客户端错误的行为(因为 LookupError 是一个可重试的错误,客户端会一直进行重连)。2.7.1 修复了该问题,将准确的错误信息返回给客户端,并保证客户端的错误处理正常。

更多信息,查阅 PR-9055[7]

支持 HAProxy 的代理协议

通常情况下,Pulsar 使用 Pulsar proxy 作为代理连接客户端并处理请求。2.7.1 支持使用 HAProxy 代理协议,该协议更通用。

更多信息,查阅 PR-8686[8]

Client

支持 Pulsar Perf 获取 JVM 信息

在 2.7.1 中,Pulsar Perf 支持获取 JVM 信息,包括 Netty max memory、 JVM command line arguments 和 Actual max heap size,这为使用 Pulsar Perf 调试提供了便利。

更多信息,查阅 PR-9769[9]

修复 Pulsar Admin expire-message 命令失败时没有通知的问题

已发送 expire message 的请求或订阅已追赶上快过期的消息时,expire message 命令会失败,并且不会通知用户。2.7.1 修复了这一问题,在命令失败时会抛出异常。

更多信息,查阅 PR-9561[10]

为死信队列中的消息加入原有信息

消息发送到死信队列时,“原有信息”(例如,消息 ID 和 topic) 会丢失。如果出现问题,这不利于查找问题出处。2.7.1 为加入到死信队列的消息添加了更多“原有信息”,方便在出现问题时进行排查。

更多信息,查阅 PR-9655[11]

支持 Python 客户端的端对端加密功能

2.7.1 新增了 Python 客户端的端到端加密功能,有利于提高消息的安全性。

更多信息,查阅 PR-9588[12]

支持为 C++ reader 设置订阅名称

使用 C++ reader 时,默认的订阅名称是随机生成的,不能指定订阅名称。2.7.1 支持了为 Reader 设置指定的订阅名称。

更多信息,查阅 PR-8823[13]

Function

修复使用 K8S runtime 时无法定义下载目录的问题

在 2.7.1 之前,K8S runtime 没有正确使用用户在配置文件中定义的 downloadDirectory ,这会导致无法定义下载目录。2.7.1 修复了这一问题。

更多信息,查阅 PR-9377[14]

修复日志信息没有正确输出到 log topic 的问题

在 2.7.1 之前,Java Function 中不同的 context 对象会导致日志信息无法正确地生产到相应的 log topic 中,造成用户无法获取日志信息。2.7.1 修复了该问题。

更多信息,查阅 PR-9299[15]

修复 broker 和 function 之间认证配置兼容的问题

在 broker 和 function 同时配置 brokerClientAuthenticationEnabled 时,会导致 Function Worker 无法启动。2.7.1 修复了该问题。

更多信息,查阅 PR-9190[16]

支持将 source topic 中的 schema 信息暴露到下游 sink

2.7.1 支持 sink 可以获取 source 发送的消息的 schema,并能继续在 sink 中处理。

更多信息,查阅 PR-8854[17]

参考信息

•下载 Apache Pulsar 2.7.1[18]。•查看 Apache Pulsar 2.7.1 完整的版本说明[19]。•查看 Apache Pulsar 2.7.1 的 PR 列表[20]。•加入 Apache Pulsar Slack channel[21]。•订阅 Apache Pulsar 邮件列表[22]

期待你加入我们,为 Apache Pulsar 的蓬勃发展添砖加瓦!

引用链接

[1] PR-9612: https://github.com/apache/pulsar/pull/9612
[2] PR-9321: https://github.com/apache/pulsar/pull/9321
[3] PR-9272: https://github.com/apache/pulsar/pull/9272
[4] PR-8818: https://github.com/apache/pulsar/pull/8818
[5] PR-8691: https://github.com/apache/pulsar/pull/8691
[6] PR-9068: https://github.com/apache/pulsar/pull/9068
[7] PR-9055: https://github.com/apache/pulsar/pull/9055
[8] PR-8686: https://github.com/apache/pulsar/pull/8686
[9] PR-9769: https://github.com/apache/pulsar/pull/9769
[10] PR-9561: https://github.com/apache/pulsar/pull/9561
[11] PR-9655: https://github.com/apache/pulsar/pull/9655
[12] PR-9588: https://github.com/apache/pulsar/pull/9588
[13] PR-8823: https://github.com/apache/pulsar/pull/8823
[14] PR-9377: https://github.com/apache/pulsar/pull/9377
[15] PR-9299: https://github.com/apache/pulsar/pull/9299
[16] PR-9190: https://github.com/apache/pulsar/pull/9190
[17] PR-8854: https://github.com/apache/pulsar/pull/8854
[18] 下载 Apache Pulsar 2.7.1: https://github.com/apache/pulsar/releases/tag/v2.7.1
[19] 查看 Apache Pulsar 2.7.1 完整的版本说明: https://pulsar.apache.org/release-notes/#271-mdash-2021-03-18-a-id271a
[20] 查看 Apache Pulsar 2.7.1 的 PR 列表: https://github.com/apache/pulsar/pulls?q=is%3Apr+label%3Arelease%2F2.7.1+is%3Aclosed
[21] 加入 Apache Pulsar Slack channel: https://apache-pulsar.herokuapp.com/
[22] 订阅 Apache Pulsar 邮件列表: https://lists.apache.org/list.html?dev@pulsar.apache.org

点击「阅读原文」下载 Apache Pulsar 2.7.1。

Apache Pulsar 2.7.1 版本正式发布!相关推荐

  1. Apache Pulsar 2.6.1 版本正式发布:2.6.0 功能增强版,新增 OAuth2 支持

    在 Apache Pulsar 2.6.0 版本发布后的 2 个月,2020 年 8 月 21 日,Apache Pulsar 2.6.1 版本正式发布! Apache Pulsar 2.6.1 修复 ...

  2. 查看apache版本_Apache Pulsar 2.6.1 版本正式发布:2.6.0 加强版,新增 OAuth2 支持

    在 Apache Pulsar 2.6.0 版本发布后的 2 个月,2020 年 8 月 21 日,Apache Pulsar 2.6.1 版本正式发布! Apache Pulsar 2.6.1 修复 ...

  3. access设置0字段为null是因为类型转换失败_Apache Pulsar 2.6.1 版本正式发布:2.6.0 加强版,新增 OAuth2 支持

    在 Apache Pulsar 2.6.0 版本发布后的 2 个月,2020 年 8 月 21 日,Apache Pulsar 2.6.1 版本正式发布! Apache Pulsar 2.6.1 修复 ...

  4. 项目动态 | Apache Pulsar 2.7.3 版本介绍

    本文原文作者是 StreamNative 工程师丛搏.刘昱.译者刘梓霖,传智教育工程师. 关于 Apache Pulsar Apache Pulsar 是 Apache 软件基金会顶级项目,是下一代云 ...

  5. 项目动态|Apache Pulsar 2.10.0 版本介绍

    本文翻译自 StreamNative 博客<What's New in Apache Pulsar 2.10>,作者为李鹏辉.Dave Duggins,原文地址为 https://stre ...

  6. 项目动态|Apache Pulsar 2.8.1 版本发布

    本文原文作者是 StreamNative 工程师陈航.刘昱. 关于 Apache Pulsar Apache Pulsar 是 Apache 软件基金会顶级项目,是下一代云原生分布式消息流平台,集消息 ...

  7. ​脉冲星 4 月脉动 | 2.5.1 版本正式发布,多平台分享正在进行中!

    ???? 本月看点速览 产品动态 新增 PIP 新增功能(2.5.2) Bug 修复(2.5.2) 社区动态 海内外社区动态 技术干货 ???? 产品动态 4 月 23 日,Apache Pulsar ...

  8. 社区活动|Apache Hudi x Apache Pulsar Meetup 杭州站来啦!

    关于 Apache Pulsar Apache Pulsar 是 Apache 软件基金会顶级项目,是下一代云原生分布式消息流平台,集消息.存储.轻量化函数式计算为一体,采用计算与存储分离架构设计,支 ...

  9. 甜橙金融如何利用 Apache Pulsar 在日均上亿的交易中抵御金融诈骗

    Strata Data Conference 是全球具有影响力的技术峰会,本届于 2019 年 9 月 23 - 26 日在美国纽约举办.峰会汇集了全球范围内的大数据.云计算.机器学习等前沿科技团队, ...

最新文章

  1. INPUT[type=file]的change事件不触发问题
  2. Windows环境下,如何在Docker里运行SAP UI5应用
  3. Algorithm I assignment Collinear
  4. 服务器主板点不亮排查
  5. Android基于Glide的二次封装,借鉴Glide思想二次封装Fresco
  6. 金蝶kis云,调用增删改查注意点
  7. (转)GridView固定表头
  8. qml demo分析(maskedmousearea-异形窗口)
  9. [简单dp]toj1179
  10. 基于方格网法的填挖方量计算(C++)
  11. MIMO系统如何获得分集增益(1)
  12. Linux Deepin 12.12 正式版本发布--焕然一新,即可惊艳!
  13. 冬至计算(一千年冬至计算)
  14. 使用live-server踩过的坑
  15. 大连海洋计算机专业校址,大连海洋大学有几个校区,哪个校区最好及各校区介绍...
  16. 【好记性不如烂笔头】IO之深入理解同步、异步、阻塞、非阻塞
  17. PB 产程进展图 下载
  18. JAVA从零单排0-----前因
  19. 360对决手机恶意广告
  20. [附源码]计算机毕业设计JAVA基于SSM高考志愿填报系统

热门文章

  1. 你可能不知道的——史上最全Windows安全工具锦集
  2. 迪文触摸串口屏 实例应用(4)——同步数据返回(单次按压、持续按压、松开按压)
  3. 使用USB ISP给AT89S51下载固件
  4. 联合循环——32 TN-C系统与TN-C-S接地系统和TN-S系统(二)
  5. 0基础916高分上岸东南大学—萤火学长黄金贴
  6. linux达芬奇安装教程,在Linux系统中能安装和运行达芬奇DaVinci Resolve 17版本
  7. Typora去除红色波浪线
  8. MAC OS X 系统镜像各版本下载
  9. android studo 3.0 搜狗输入法问题 终结者
  10. 给中国学生的第四封信