天天看點

脈沖星 12 月脈動 | Pulsar 2.7.0 釋出!

關于 Apache Pulsar Apache Pulsar 是 Apache 軟體基金會頂級項目,是下一代雲原生分布式消息流平台,集消息、存儲、輕量化函數式計算為一體,采用計算與存儲分離架構設計,支援多租戶、持久化存儲、多機房跨區域資料複制,具有強一緻性、高吞吐、低延時及高可擴充性等流資料存儲特性。 GitHub 位址:http://github.com/apache/pulsar/ 作者資訊: 本月報由 StreamNative 團隊整理。

導語

各位小夥伴們,2020 年 12 月 Pulsar 社群月報來啦!首先給大家一個遲到的 2021 新年祝福!

本月 Pulsar 社群完善和更新很多産品細節,遍布方方面面。感謝以下各位社群成員本月對 Pulsar 項目的支援,讓 Apache Pulsar 繼續發光發熱!(排名不分先後,看看你有沒有上榜 ????????):

@jeames00、@congbobo184、@Renkai、@reswqa 、@lhotari、@codelipenghui、@jerrypeng、@eolivelli、@wolfstudy、@nodece、@erobot、@315157973、@gaoran10、@zymap、@eolivelli、@reswqa、@RobertIndie、@Gjiangtao、@erobot、 @mkozioro、@massakam、@k2la、@Renkai、 @Jennifer88huang、@tuteng、@zsh0139、@Huanli-Meng、@aahmed-se、@sijie、@sijia-w、@rathipry、@hangc0276、@BewareMyPower、@jianyun8023、@merlimat、@aloyszhang、@MarvinCai、@dockerzhang、@rdhabalia、@flowchartsman、@aloyszhang、@jerrypeng、@massakam、@sijie、@jiazhai、@cimura、@zzzming、@codelipenghui、@rdhabalia、@zymap、@saosir、@massakam、@dockerzhang、@Shoothzj、@eolivelli、@gaoran10、@milos-matijasevic、@k2la、@deonvdv、@wangjialing218、@astifter、@yufan022

産品動态

Function: 在 Go Function builder 中支援 key-based 批處理。

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

Function:為表示 function 狀态的 ​<code>​openTable()​</code>​ 調用添加逾時。

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

Function: 提供 Function worker 服務的接口。

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

Function:在 Function 中允許修改狀态不阻塞function運作。

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

Function: 使源 topic 的 schema 資訊可用于下遊 sinks。

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

Function: 在 Pulsar Functions 中添加 ​<code>​--retain-key-ordering​</code>​ 辨別。

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

Function: 支援通過配置 URL 擷取 Go 和 Python function。

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

Function Worker: 拆分 Function Worker 和用戶端的身份驗證邏輯。

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

Package management: 将包管理服務添加到 Pulsar 啟動程序中。

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

Package management: 包管理服務支援 BookKeeper 存儲。

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

Tiered storage: 初始化 offloader 時,隻初始化一次即可。

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

Test: pulsar-perf 支援多 consumer 訂閱。

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

Java Client: Java 用戶端支援設定 reader 的訂閱名。

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

Java Client: 實作 producer 記憶體限制。

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

Java Client: 支援 producer 的 WaitForExclusive 建立模式。

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

Schema: 為 SchemaInfoBuilder 中的屬性添加預設值。

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

KoP: 支援使用指定統計資料更新統計資料。

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

Websocket: 支援 WebSocket producer 的 ​<code>​deliveryAt ​</code>​和 ​<code>​deliverAfter​</code>​ 屬性。

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

WebSocket:根據 ​<code>​PulsarClientException​</code>​ 的類型傳回狀态代碼。

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

C++ Client: 為 reader 添加 consumer 配置,用于解密加密的消息。

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

C++ Client: C++ 用戶端支援為設定 reader 的内部訂閱名稱設定添加 setter。

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

C++: 優化批消息緩存配置設定。

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

C++:更正訂閱 API 的參數名稱。

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

Broker: 支援在 topic 級别配置每個 topic 的最大訂閱數。

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

Broker: 導出 messageTTL 的 Prometheus 名額。

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

Broker: 實作軟體包管理的管理者操作。

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

Broker: 引入輕量級 broker 中繼資料。

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

Broker: 添加用于包管理服務的 REST API。

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

Broker: 将軟體包管理服務添加到 Pulsar 啟動程序過程中。

Broker: 将 ​<code>​getWebServiceUrl​</code>​ 方法更改為異步。

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

Broker: 支援用戶端軟體包管理指令。

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

Broker:引入 Pulsar 的連續偏移量。

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

Broker:為 KoP 添加 ​<code>​updateRates​</code>​ 方法,采集釋出速率。

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

Broker:支援配置 Netty Acceptor 線程池大小。

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

Broker:支援檢視 broker entry 中繼資料。

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

Broker: 支援限制每個 namespace 的最大 topic 數量。

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

Broker: 暴露不連續的已删除消息的統計資料。

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

Broker: 添加 beforeSendMessage方法,在将 entry 發送給 consumer 之前攔截 entry。

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

Broker: 支援在 namespace 級别配置每個 topic 的最大訂閱數量。

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

Broker:改進 broker 不信任用戶端證書時的錯誤處理。

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

Broker:使 namespace 隔離政策更新及時生效。

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

Broker:為 ​<code>​SubscriptionBusyException​</code>​ 添加 if 分支。

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

Broker:删除重複的 broker Prometheus 名額類型。

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

Broker:添加原始 Prometheus 名額提供者。

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

Broker:支援 Pulsar-admin 自動重新整理證書。

https://github.com/apache/pulsar/pull/8831a

引入 Pulsar 的的連續偏移量。

Perf:pulsar-perf 支援從 conf 檔案加載 WebSocket 服務 URL。

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

SQL:為 SQL 測試添加重試。

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

Bug 修複

Broker: 使用新的線程删除非持久化訂閱,以避免在删除不活躍訂閱時出現死鎖。

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

Broker: 支援在删除給定 namespace 時删除其所有 topic。

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

Broker: 删除從不同線程中删除 topic 的非持久永久訂閱,進而避免在删除非活動訂閱時出現死鎖。

Broker: 修複了因無效的日志記錄配置導緻的性能問題。

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

Broker: 檢查消息到期時複制訂閱清單,避免死鎖。

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

Broker: 修複因消息保留而導緻空 topic 無法擷取 ​<code>​lastMessageId​</code>​ 的問題。

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

Broker: 修複 PersistentStickyKeyDispatcherMultipleConsumers 中的 NPE。

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

Broker: 清理無法從緩存中解除安裝的 topic。

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

Broker: 更新 Maven 工件版本。

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

Broker: 解決了中繼資料導緻的相容性的問題。

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

Broker: 修複了在沒有分發速率限制的情況下解除安裝 topic 後,訂閱的分發速率無法工作的問題。

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

Broker: 確定動态更新 rack 資訊。

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

Broker: 修複 Pulsar broker 中項目的格式錯誤。

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

Broker:修複 DelayedDelivery 在 broker 層級有一個預設值的問題。

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

Function: 修複添加到使用者配置中的單引号的問題。

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

Function: 修複了 Go Function 丢棄消息觸發的 panic。

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

C++ Client: 修複 ​<code>​BlockingQueue​</code>​ 中的競态條件。

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

Schema: ​<code>​GenericJsonReader​</code>​ 将空值轉換為字元串“null”。

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

Java Client: 修複當 Pulsar 用戶端收到來自已關閉 producer 釋出的消息确認時出現的 NPE 問題。

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

Java Client: 在發送 ​<code>​TimeoutException​</code>​ 進行故障排除時添加更多資訊。

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

Java Shade Client: 添加加密內建測試。

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

Pulsar Client: 修複帶有加密字段(*****) 的 ​<code>​authParams​</code>​ 參數在日志中顯示的問題。

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

Client:修複不可用的 Hash 範圍條件。

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

Admin: 修複 ​<code>​AdminApiTest2.testMaxSubPerTopicApi​</code>​ 的 Flaky test。

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

Pulsar-managed-ledger-admin:修複删除多個 ledger。

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

Pulsar CI: 通過在 ​<code>​MAVEN_OPTS​</code>​ 環境變量中傳遞 ​<code>​-Dhttp.keepAlive = false -Dmaven.wagon.http.pool = false​</code>​ 來禁用 Maven 的 HTTP 連接配接池。

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

Pulsar IO: 修複 pulsar-io.yaml 檔案名和 ​<code>​sourceConfigClass​</code>​ 類。

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

Schema: 修複自定義 Avro schema 不适用于 consumer 的問題。

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

Pulsar Build: 使用絕對路徑查找許可證和 checkstyle 插件配置。

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

Pulsar Package: 修複包無法上傳的問題。

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

Common:修複檢視壓縮消息時引發異常的問題(Airlift 不支援隻讀緩沖區)。

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

Transaction:修複 transaction 消息順序錯誤和去重錯誤。

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

Proxy:從代理伺服器向用戶端傳回正确的 Authz 和 Auth 錯誤。

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

社群動态

•Pulsar User Survey 2020

點選“閱讀原文”或掃碼下方二維碼,參與 Pulsar 2020 使用者調查,填寫問卷有機會獲得新版 Pulsar 周邊哦!

脈沖星 12 月脈動 | Pulsar 2.7.0 釋出!

•TGIP-CN 028: Apache Pulsar 延時隊列的設計與實作[1]•Pulsar Summit Asia 2020 視訊回顧[2]•ApacheCon 2020 - Pulsar/ BookKeeper 專場[3]

技術幹貨

•Impact of Apache Pulsar 2.7 release on the development of Infinitic[4]•Cloud-Native Apache Pulsar 2.7 Supports Transactions and Azure Blob Storage Offloader[5]•Work-Bench Snapshot: Augmenting Streaming and Batch Processing Workflows[6]•How Apache Pulsar is Helping Iterable Scale its Customer Engagement Platform[7]•Using Apache Pulsar With Kotlin -- Gilles Barbier[8]•​​Pulsar 2.7.0 新特性概覽​​•​​Pulsar Flink Connector 2.7.0 新特性​​

以上就是 2020 年 12 月份的脈動之旅。Apache Pulsar 正在快速成長,感謝來自大家的支援!

Apache Pulsar 社群鼓勵大家積極參與開源社群,無論是文檔、代碼、翻譯,還是技術部落格,都歡迎大家積極參與,早日成為 Pulsar contributor,一起加油鴨。

如果你對 Pulsar Contribute 的流程不太熟練,也可以參考我們這篇小教程,讓你熟悉如何通過 GitHub 對 Pulsar 進行貢獻:​​新手向|非技術人員如何參與 Pulsar 項目進行貢獻​​。

​<code>​[1]​</code>​ TGIP-CN 028: Apache Pulsar 延時隊列的設計與實作: https://www.bilibili.com/video/BV19h411Z7jU?from=search&amp;seid=10045626894755682905

​<code>​[2]​</code>​ Pulsar Summit Asia 2020 視訊回顧: https://space.bilibili.com/391380821/channel/detail?cid=159884

​<code>​[3]​</code>​ ApacheCon 2020 - Pulsar/ BookKeeper 專場: https://space.bilibili.com/391380821/channel/detail?cid=159995

​<code>​[4]​</code>​ Impact of Apache Pulsar 2.7 release on the development of Infinitic: https://infinitic.substack.com/p/infinitic-updates-3

​<code>​[5]​</code>​ Cloud-Native Apache Pulsar 2.7 Supports Transactions and Azure Blob Storage Offloader: https://streamnative.io/en/blog/release/2020-12-03-pulsar-270

​<code>​[6]​</code>​ Work-Bench Snapshot: Augmenting Streaming and Batch Processing Workflows: https://medium.com/work-bench/work-bench-snapshot-augmenting-streaming-and-batch-processing-workflows-416e64d37a28

​<code>​[7]​</code>​ How Apache Pulsar is Helping Iterable Scale its Customer Engagement ​<code>​[8]​</code>https://gillesbarbier.medium.com/using-apache-pulsar-with-kotlin-3b0ab398cf52

推薦閱讀

Apache Pulsar 11 月動态

Apache Pulsar 10 月動态

Apache Pulsar 9 月動态

脈沖星 12 月脈動 | Pulsar 2.7.0 釋出!

點選「閱讀原文」,參與 Pulsar 2020 使用者調查,赢取最新 Pulsar 周邊!