日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

Pulsar3.0新功能,你了解了嗎?

來源: 責編: 時間:2024-01-03 09:12:15 211觀看
導讀升級后所遇到的問題先來個欲揚先抑,聊聊升級后所碰到的問題吧。其中有兩個問題我們感知比較明顯,特別是第一個。topic被刪除我們在上個月某天凌晨從 2.11.2 升級到 3.0.1 之后,進行了上一篇文章中所提到的功能性測試,發現

升級后所遇到的問題

先來個欲揚先抑,聊聊升級后所碰到的問題吧。z2z28資訊網——每日最新資訊28at.com

其中有兩個問題我們感知比較明顯,特別是第一個。z2z28資訊網——每日最新資訊28at.com

topic被刪除

我們在上個月某天凌晨從 2.11.2 升級到 3.0.1 之后,進行了上一篇文章中所提到的功能性測試,發現沒什么問題,覺得一切都還挺順利的,半個小時搞定后就下班了。z2z28資訊網——每日最新資訊28at.com

結果哪知道第二天是被電話叫醒的,有部分業務反饋業務重啟之后就無法連接到 Pulsar 了。z2z28資訊網——每日最新資訊28at.com

圖片圖片z2z28資訊網——每日最新資訊28at.com

最終定位是 topic 被刪除了。z2z28資訊網——每日最新資訊28at.com

其中的細節還蠻多的,修復過程也是一波三折,后面我會單獨寫一篇文章來詳細梳理這個過程。z2z28資訊網——每日最新資訊28at.com

在這個 issue 和 PR 中有詳細的描述:https://github.com/apache/pulsar/issues/21653 https://github.com/apache/pulsar/pull/21704z2z28資訊網——每日最新資訊28at.com

感興趣的朋友也可以先看看。z2z28資訊網——每日最新資訊28at.com

監控指標丟失

第二個問題不是那么嚴重,是升級后發現  bookkeeper 的一些監控指標丟失了,比如這里的寫入延遲:z2z28資訊網——每日最新資訊28at.com

圖片圖片z2z28資訊網——每日最新資訊28at.com

我也定位了蠻久,但不管是官方的 docker 鏡像還是源碼編譯都無法復現這個問題。z2z28資訊網——每日最新資訊28at.com

最終丟失的指標有這些:z2z28資訊網——每日最新資訊28at.com

  • bookkeeper_server_ADD_ENTRY_REQUEST
  • bookkeeper_server_ADD_ENTRY_BLOCKED
  • bookkeeper_server_READ_ENTRY_BLOCKED
  • bookie_journal_JOURNAL_CB_QUEUE_SIZE
  • bookie_read_cache_hits_count
  • bookie_read_cache_misses_count
  • bookie_DELETED_LEDGER_COUNT
  • bookie_MAJOR_COMPACTION_COUNT

詳細內容可以參考這個 issue:https://github.com/apache/pulsar/issues/21766z2z28資訊網——每日最新資訊28at.com

新特性

講完了遇到的 bug,再來看看帶來的新特性,重點介紹我們用得上的特性。z2z28資訊網——每日最新資訊28at.com

支持低負載均衡

圖片圖片z2z28資訊網——每日最新資訊28at.com

當我們升級或者是重啟 broker 的時候,全部重啟成功后其實會發現最后重啟的那個 broker 是沒有流量的。z2z28資訊網——每日最新資訊28at.com

這個原理和優化在之前寫過的 Pulsar負載均衡原理及優化 其實有詳細介紹。z2z28資訊網——每日最新資訊28at.com

本次 3.0 終于將那個優化發版了,之后只要我們配置 lowerBoundarySheddingEnabled: true 就能開啟這個低負載均衡的一個特性,使得低負載的 broker 依然有流量進入。z2z28資訊網——每日最新資訊28at.com

跳過空洞消息

圖片圖片z2z28資訊網——每日最新資訊28at.com

Pulsar 可能會因為消息消費異常導致游標出現空洞,從而導致磁盤得不到釋放;z2z28資訊網——每日最新資訊28at.com

所以我們有一個定時任務,會定期掃描積壓消息的 topic 判斷是否存在空洞消息,如果存在便可以在管理臺使用 skipMessage API 跳過空洞消息,從而釋放磁盤。z2z28資訊網——每日最新資訊28at.com

但在 3.0 之前這個跳過 API 存在 bug,只要跳過的數量超過 8 時,實際跳過的數量就會小于 8.z2z28資訊網——每日最新資訊28at.com

具體 issue 和修復過程在這里:https://github.com/apache/pulsar/issues/20262 https://github.com/apache/pulsar/pull/20326z2z28資訊網——每日最新資訊28at.com

總之這個問題在 3.0 之后也是修復了,有類似需求的朋友也可以使用。z2z28資訊網——每日最新資訊28at.com

新的負載均衡器

同時也支持了一個新的負載均衡器,解決了以下問題:z2z28資訊網——每日最新資訊28at.com

  • 以前的負載均衡大量依賴 zk,當 topic 數量增多時對擴展性帶來問題。
  • 新的負載均衡器使用 non-persistent 來存儲負載信息,就不再依賴 zk 。
  • 以前的負載均衡器需要依賴 leader broker 進行重定向到具體的 broker,其實這些重定向并無意義,徒增了系統開銷。
  • 新的負載均衡器使用了 SystemTopic 來存放 topic 的所有權信息,這樣每個 broker 都可以拿到數據,從而不再需要從 leader broker 重定向了。z2z28資訊網——每日最新資訊28at.com

更多完整信息可以參考這個 PIP: PIP-192: New Pulsar Broker Load Balancerz2z28資訊網——每日最新資訊28at.com

支持大規模延遲消息

第二個重大特性是支持大規模延遲消息,相信是有不少企業選擇 Pulsar 也是因為他原生就支持延遲消息。z2z28資訊網——每日最新資訊28at.com

我們也是大量在業務中使用延遲消息,以往的延遲消息有著以下一些問題:z2z28資訊網——每日最新資訊28at.com

  • 內存開銷過大,延遲消息的索引都是保存在內存中,即便是可以分布在多個 broker 中分散存儲,但消耗依然較大
  • 重點優化了索引的內存占有量。
  • 重啟 broker 時會消耗大量時候重建索引
  • 支持了索引快照,最大限度的降低了構建索引的資源消耗。z2z28資訊網——每日最新資訊28at.com

待優化功能

監控面板優化

最后即便是升級到了 3.0 依然還有一些待優化的功能,在之前的 從 Pulsar Client 的原理到它的監控面板中有提到給客戶端加了一些監控埋點信息。z2z28資訊網——每日最新資訊28at.com

最終使用下來發現還缺一個 ack 耗時的一個面板,其實日常碰到最多的問題就是突然不能消費了(或者消費過慢)。z2z28資訊網——每日最新資訊28at.com

這時如果有這樣的耗時面板,首先就可以定位出是否是消費者本身的問題。z2z28資訊網——每日最新資訊28at.com

圖片圖片z2z28資訊網——每日最新資訊28at.com

目前還在開發中,大概類似于這樣的數據。z2z28資訊網——每日最新資訊28at.com

總結

Pulsar3.0 是 Pulsar 的第一個 LTS 版本,推薦盡快升級可以獲得長期支持。但只要是軟件就會有 bug,即便是 LTS 版本,所以大家日常使用碰到 Bug 建議多向社區反饋,一起推動 Pulsar 的進步。z2z28資訊網——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-56561-0.htmlPulsar3.0新功能,你了解了嗎?

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: Python的神奇算術,用代碼輕松求和

下一篇: .NET 8 的 IHostedLifecycleService 接口是雞肋功能嗎?

標簽:
  • 熱門焦點
Top 主站蜘蛛池模板: 即墨市| 石渠县| 台北市| 上蔡县| 新丰县| 涪陵区| 牙克石市| 客服| 新源县| 泉州市| 容城县| 邛崃市| 怀化市| 绿春县| 英德市| 德令哈市| 乐陵市| 天台县| 武鸣县| 台中县| 鸡西市| 集贤县| 玉山县| 沈阳市| 南雄市| 南皮县| 东兰县| 安平县| 无棣县| 萍乡市| 岚皋县| 沛县| 云南省| 通渭县| 乃东县| 内黄县| 桦南县| 雅江县| 本溪| 梧州市| 樟树市|