中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Pulsar的特性與優勢有哪些

發布時間:2021-12-15 15:04:00 來源:億速云 閱讀:706 作者:iii 欄目:大數據

這篇文章主要介紹“Pulsar的特性與優勢有哪些”,在日常操作中,相信很多人在Pulsar的特性與優勢有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Pulsar的特性與優勢有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

為什么選擇 Pulsar

現狀及痛點
在沒使用 Pulsar 之前,涂鴉使用的架構基本如下圖所示。消息進入接入層后,通過 Kafka進行消息分發轉化,這個消息集群主要在做一些消息分發和路由的功能。之后再通過 HTTP 投遞給第三方。

Pulsar的特性與優勢有哪些

以上的架構模式存在一些業務痛點:

1. HTTP 投遞方式不靈活,容易丟消息  
基于網絡原因、公司服務器規模不足以支撐業務時,都有可能出現重啟過程中消息丟失的現象。如果想要滿足這個需求,就需要對消息的持久化進行額外的處理。

2. Kafka topic 數量與日俱增,運維成本高
隨著接入廠家和開發者數量的增加,導致 Kafka 的運維層面壓力會比較大,人力和時間等耗費比較高。

3. Kafka 自身的一些痛點,比如 Rebalance 機制  
業務集群需要經常升級,consumer 就會經常斷連。斷連情況下,Rebalance 的過程是很長的,導致消息堆積量加大,造成用戶體驗下降。同時堆積后的重啟,在大集群量情況下,對消費端的壓力會非常大。 

4. 租戶之間會相互影響
如果有一個租戶掛掉并且沒有進行及時處理,就會一直堆積在 Kafka 的處理器上,耽誤后續進程,降低消息上報性能,影響到其他租戶。


Pulsar 的特性與優勢   
Apache Pulsar 是靈活的發布-訂閱消息系統,采用分層分片架構。 

1. 豐富的投遞/訂閱策略
Pulsar 做了隊列模型和流模型的統一,在 Topic 級別只需保存一份數據,同一份數據可多次消費。以流式、隊列等方式計算不同的訂閱模型大大提升了靈活度。

Pulsar的特性與優勢有哪些
 
2. 運維難度小(相比 Kafka),Rebalance 機制反應迅速
主要體現在跨地域復制方面。Pulsar 使用計算與存儲分離的云原生架構,數據從 Broker 搬離,存在共享存儲內部。上層是無狀態 Broker,復制消息分發和服務;下層是持久化的存儲層 Bookie 集群。

Pulsar 存儲是分片的,這種架構可以避免擴容時受限制,實現數據的獨立擴展和快速恢復。

3. 多租戶隔離優勢
租戶和命名空間(namespace)是 Pulsar 支持多租戶的兩個核心概念。

  • 在租戶級別,Pulsar 為特定的租戶預留合適的存儲空間、應用授權與認證機制。
  • 在命名空間級別,Pulsar 有一系列的配置策略(policy),包括存儲配額、流控、消息過期策略和命名空間之間的隔離策略。


現階段結構   
剛好這三點特性,對應了之前涂鴉面臨的痛點,所以在契合下開始轉向使用 Pulsar 來替代了 Kafka。

Pulsar的特性與優勢有哪些

目前 Pulsar 的架構已應用到涂鴉智能平臺,成為一個主導消息隊列,后續也在圍繞 Pulsar 進行一些二次開發和周邊服務搭建。

以前信息的投遞會有 5-6 s 的延遲,現在大概只有 1 s,整體的提升和改進是非常大的。

當然用 Pulsar 替代 Kafka 的過程,也有一些缺點,比如:成本高。這個過程就需要督促第三方開發者去替換 SDK,同時過渡時期還要支持兩套系統。

剛好最近 StreamNative 開源了 KoP,可以讓兩者之間的遷移更簡單,也算解決了這一問題。

Pulsar的特性與優勢有哪些

上圖就是 BookKeeper 內的 Pulsar 架構示意圖,其中 zk 是指 ZooKeeper。更多關于 Broker、Bookie 和 Proxy 等概念介紹,可以參考之前 TGIP-CN 的回顧:  Message Lifecycle:Pulsar 里的信息傳遞究竟是什么樣子  。

同時借由存儲端 BookKeeper 的存儲中間件特性,使得 Pulsar 現在的存儲分離架構并沒有增加額外的使用復雜度。

Proxy 在這里提供了類似 TCP 的一個代理,為 Consume 提供了“尋址”的功能。Consumer 無需關心真實的 Broker 地址,連上 Proxy 后會直接從 ZooKeeper 里拉取 Topic 的位置等數據,此過程中 Consumer 只需保證穩定的連接即可。

但 Proxy 并沒有進行負載均衡的功能,這些都是在 Broker 上進行的。這一點也在之前的 TGIP-CN 直播中提到過。

當然針對涂鴉的一些使用場景,他們也在 Proxy 上進行了一些擴展。



Dubbo-go + Pulsar 的實例應用

Pulsar的特性與優勢有哪些

上圖是一開始使用 Pulsar 時的架構圖。生產者投遞消息后,利用 in Topic 路由解析出來并進行投遞。但是這個過程中需要構建多個 Pulsar 集群,導致運維程度的增加。

Pulsar的特性與優勢有哪些

現在在 Pulsar 架構里增加一個“source”,它可以用來收集之前的 topic,搭配 function 功能進行傳遞。

之后在 function 部件內嵌入了 Dubbo-go consumer,把一些復雜的路由規則通過 Dubbo-go  consumer 進行拉取。同時借用 Pulsar broker 的整體集群管理,減少了運維的業務壓力。

Pulsar的特性與優勢有哪些

Dubbo-go
具體關于 Dubbo 的一些 demo 展示或者使用方法,可以參考以下網站。

  • Dubbo 中文網站:
    http://dubbo.apache.org/zh-cn/

  • GitHub 倉庫:
    https://github.com/apache/dubbo-go

Dubbo-go 的架構示意圖可以參考下方:

Pulsar的特性與優勢有哪些
Pulsar的特性與優勢有哪些

到此,關于“Pulsar的特性與優勢有哪些”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

雷州市| 甘南县| 成安县| 临西县| 嵊泗县| 根河市| 江城| 东源县| 江西省| 新河县| 清新县| 健康| 章丘市| 古浪县| 津南区| 三门县| 六安市| 长泰县| 南召县| 洞口县| 荔浦县| 石首市| 临桂县| 青州市| 塔河县| 济阳县| 巴彦淖尔市| 师宗县| 儋州市| 辽源市| 沿河| 社旗县| 本溪市| 神木县| 潢川县| 康平县| 韶关市| 姜堰市| 安宁市| 松原市| 桑植县|