脉冲星 5 月脉动 | 2.5.2 版本发布,Pulsar 全球盛典即将开启!

二次信任 提交于 2020-12-01 07:07:41


🔍 本月看点速览


  • 产品动态

    • 新增 PIP2.6.0)

    • 新增功能(2.6.0)

    • Bug 修复(2.6.0)

  • 社区动态

    • 海内外社区动态

    • 技术干货




🧰 产 品 动 态


5 月 19 日,Pulsar 发布了2.5.2 版本。具体更新细节和下载链接可以查看文章:Apache Pulsar 发布 2.5.2 版本 


Pulsar Client 版本更新:


  • Pulsar Client 1.1.0 版本发布,支持 schema 特性。
    https://www.nuget.org/packages/Pulsar.Client/


  • Pulsar Client 1.2.0 版本发布,支持 deduplication、statistics 和 backpressure 等特性。
    https://www.nuget.org/packages/Pulsar.Client/1.2.0



新增 PIP

2.6.0)


PIP 63 : 增加只读 Topic Ownership 支持

https://github.com/apache/pulsar/wiki/PIP-63%3A-Readonly-Topic-Ownership-Support


Pulsar 经常被用作数据总线来统一用户所有的数据。同一个数据源通常会被众多的应用共同消费。当一个 Topic 的订阅数量很多时,会出现如下的问题:


  • Broker 的带宽限制了单个 Topic 所能支持的订阅数量

  • 不同的订阅会竞争 broker 的网络带宽会导致不同的响应速度

  • 当同步异地消息时,要尽量减少异地直接访问 broker


该 PIP 增加了只读 Topic 的 Ownership 支持。如果 Pulsar 支持只读的 Ownership,那么用户就可以设置只读的 broker 集群根据服务的重要行来隔离他们的流量。这样 Pulsar 就可以支持更大数量的订阅。



PIP 64: 增加 REST 端口用于生产,消费以及读取数据

https://github.com/apache/pulsar/wiki/PIP-64%3A-Introduce-REST-endpoints-for-producing%2C-consuming-and-reading-messages


目前 Pulsar 提供 REST 端口用于管理 Pulsar 集群中的资源并且查询资源的状态。但 Pulsar 并没有提供通过网页服务来生产、消费、读取数据的能力。


对于希望通过 HTTP 来与 Pulsar 交互的应用来说非常的不便。该 PIP 引入 REST 端口来支持这一类生产、消费、读取数据的需求。



PIP 65: 改进 Pulsar IO Source 来支持批量数据源

https://github.com/apache/pulsar/wiki/PIP-65%3A-Adapting-Pulsar-IO-Sources-to-support-Batch-Sources


当前 Pulsar IO 提供了简单的 SDK 以及灵活的运行时来支持导入或导出到不同的数据源。SDK 主要支持具有流数据特性的数据源(例如 AWS Kinesis)。但是例如文件或者对象应用等众多的数据源并不具备流数据的特性。


文件以及数据对象会不停地被添加到应用中,然后再复制到 Pulsar。当新数据到来时该应用能够通知 Pulsar(比如 S3 的新对象创建通知服务)或者 Pulsar 能够定时地去获得数据(比如 FTP 服务)。在以上两种情况中,都需要:


 1. 发现需要被导入的新数据

 2. 通过触发机制导入该数据

 

该 PIP 提出了增强 SDK 用于支持这一类的批数据源。




📝 新 增 功 能
2.6.0)


  • 增加 Annotation 用于 Config 类的成员检查

    https://github.com/apache/pulsar/pull/6972


  • 增加在 Functions 和 Sources 中创建 Consumer
    https://github.com/apache/pulsar/pull/6954


  • ThreadRuntime 允许用户提供自定义 Secret Provicer
    https://github.com/apache/pulsar/pull/6971


  • 允许 Source 向某个 Topic 发送消息

    https://github.com/apache/pulsar/pull/6941


  • 允许配置 NAR 文件的解压提取位置

    https://github.com/apache/pulsar/pull/6933


  • Pulsar SQL 支持 Avro Schema 的 ByteBuffer 类型

    https://github.com/apache/pulsar/pull/6925


  • 允许在 SchemaDefinition 中注册 schema reader 和 writer

    https://github.com/apache/pulsar/pull/6905


  • 添加 DynamoDB 数据源

    https://github.com/apache/pulsar/pull/6874


  • 允许用户在 Namespace 下设置订阅过期时间

    https://github.com/apache/pulsar/pull/6851


  • 添加 jdbc sink: postgres, mariadb, clickhouse

    https://github.com/apache/pulsar/pull/6835



📝 Bug 修复

2.6.0)


Broker
  • 修复了在 Shared 订阅模式下消息发送停止的情况

    https://github.com/apache/pulsar/pull/6966


  • 修复了重启 Broker 之后 topicPublishRateLimiter 未生效的情况

    https://github.com/apache/pulsar/pull/6893


  • 处理 topic.addProducer 产生的异常

    https://github.com/apache/pulsar/pull/6881


Admin
  • 修复 Pulsar Admin 线程数量过多的问题

    https://github.com/apache/pulsar/pull/6940


  • 修复 ttlDurationDefaultInSeconds 配置未生效的问题

    https://github.com/apache/pulsar/pull/6920


Client
  • 释放 Pending Message Queue 中的未利用空间

    https://github.com/apache/pulsar/pull/6926


  • 清理不存在 Topic 的 Producer

    https://github.com/apache/pulsar/pull/6879


  • 修复 Python 客户端使用 schema 对 enum 类型的序列化

    https://github.com/apache/pulsar/pull/6808


Function
  • 修复 function update 的参数验证

    https://github.com/apache/pulsar/pull/6888


  • 确保 dangling consumer 被清理

    https://github.com/apache/pulsar/pull/6778




🧐 社区动态


📣 Pulsar Summit 2020 线上峰会即将开始


作为 Pulsar 的第一次国际性会议,第一届的 Pulsar  Summit 将采取线上方式,跨越不同时区为大家带来众多国际公司落地实践的案例分享。


6 月 17-18 日,为期两天的 Pulsar Summit 将让用户免费享受到极致的技术盛宴,普惠全球开发者用户。


更多活动细节和报名,可以查看文章 Pulsar Summit 2020 线上峰会即将启程!


📣 Pulsar 线上训练营开启!


在 Pulsar Summit 开始前,也开启了为期 4 天的线上训练营,跟着 Pulsar 专家 Jesse Anderson 来学习如何使用 Pulsar 来开发应用程序。


具体时间为 6 月 11 日、12 日、15 日和 16 日,北京时间每天晚上的 11 点到 凌晨 2 点。主要面向技术人员、软件工程师、QA、分析师等,内容是建立在中级 Java 基础之上。


通过此训练,你可以学到:


  • 如何使用 Pulsar 创建大型实时系统

  • 实时分布式系统与批处理系统有何不同

  • 如何创造 Pulsar 生产者和消费者

  • 如何使用 Apache Avro 与 Pulsar 解决企业级问题

  • 如何使用 Pulsar Functions 创建数据管道

  • 如何使用现有的 SQL 技能与 Pulsar SQL 结合


🔗报名链接:
http://dwz.date/aRVg


📣 StreamNative Hub 来啦!


五月底,由 StreamNative 团队首发的 StreamNative Hub 已正式上线。这是一个在线服务平台,为 Pulsar 生态系统提供丰富的集成和插件。


在这里,你可以查找、下载、使用、存储、分享与 Pulsar 相关的插件(涉及数据处理、日志、监控、认证、部署等方面),安心享受一站式服务。


更多详情参考 StreamNative Hub — Pulsar 生态圈的“活水源” 。


📣 TGIP 直播系列更新


本月,TGIP 英文直播系列更新了 4 集,TGIP-CN 中文直播系列更新了 4 集。具体详情可参考下方:


💜 TGIP
  • 009: Introduction of Apache BookKeeper
    https://www.youtube.com/watch?v=g4CAhQLCt5U


  • 010: BookKeeper LAC protocol
    https://www.youtube.com/watch?v=7etLdsC-qbM


  • 011: BookKeeper AutoRecovery

    https://www.youtube.com/watch?v=w14OoOUkyvo


  • 012: Introduction of Pulsar Schema
    https://www.youtube.com/watch?v=p0PRhwjzKNo


💙 TGIP-CN


📣 网络研讨会喜加一


5 月 26 日,来自 Nutanix 的高级软件开发工程师 Shivji Jha 为大家带来了关于「Lessons From Managing A Pulsar Cluster」内容的网络研讨会。


直播回放:
https://www.youtube.com/watch?v=zAHxgG_U67Q


相关 slides:
https://www.slideshare.net/streamnative/lessons-from-managing-a-pulsar-cluster-nutanix


哦对了,说起 Pulsar 与其他数据系统的集成,StreamNative 的申毅杰在 5 月 12 日通过 Flink 平台,为大家线上分享了「Flink Pulsar Connector 机制剖析」的相关内容。


视频回放:
https://www.bilibili.com/video/BV1YQ4y1A7VN


📣 Podcast 和其它


本月来自 StreamNative 的郭斯杰参与了 Data Engineering 的播客,分享了内容为「StreamNative Brings Streaming Data To The Cloud Native Landscape With Pulsar」的音频。


https://www.dataengineeringpodcast.com/streamnative-pulsar-streaming-data-episode-132/


同时,我们很高兴看到 Pulsar 因其易于扩展的特性而受到了更多关注,在第 22 期的 ThoughtWorks Technology Radar 中,Pulsar 很荣幸的出镜了!


https://assets.thoughtworks.com/assets/technology-radar-vol-22-en.pdf



📚 技 术 博 客


  • 用 Pulsar Functions 进行实时分析

  • 基础向|Apache BookKeeper 简介

  • 用 Apache Pulsar SQL 查询数据流

  • Why Zhaopin Chooses Pulsar SQL for Search Log Analysis
    https://streamnative.io/blog/tech/2020-05-07-zhaopin-tech-blog/

  • How Apache Pulsar Helps Streamline Message System and Reduces O&M Costs at Tuya Smart
    https://streamnative.io/blog/tech/2020-05-08-tuya-tech-blog/

  • How to Build a Distributed Database with Apache BookKeeper — Part 3
    https://streamnative.io/blog/tech/2020-05-12-distributed-database-bk3/

  • How to debug a pulsar function using testcontainers
    https://lanwen.ru/posts/pulsar-functions-how-to-debug-with-testcontainers/

  • One new contestant to bring down the king: Apache Pulsar
    https://medium.com/@alexandrev/one-new-contestant-to-bring-down-the-king-apache-pulsar-9a9959ff1a48

  • Pulsar gets more attentions and it is mentioned in "ThoughtWorks Technology Radar Vol.22"
    https://assets.thoughtworks.com/assets/technology-radar-vol-22-en.pdf




总 结


以上就是 5 月份的脉动之旅。2020 年即将过半,希望大家在接下来的时间里也能每天开心,每天进步。


Apache Pulsar 社区鼓励大家积极参与开源社区,无论是文档、代码、翻译,还是技术博客,都欢迎大家积极参与,早日成为 Pulsar contributor,一起加油鸭。


如果你对 Pulsar Contribute 的流程不太熟练,也可以参考我们这篇小教程,让你熟悉如何通过 GitHub 对 Pulsar 进行贡献 新手向|非技术人员如何参与 Pulsar 项目进行贡献


参与贡献项目可选:


1. Apache Pulsar 项目:
https://github.com/apache/pulsar


2. Pulsar 技术文档翻译:
https://github.com/apache/pulsar-translation


本文分享自微信公众号 - StreamNative(StreamNative)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!