91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

選擇Pulsar而不是Kafka的7 大理由分別是什么

發布時間:2021-12-15 10:48:16 來源:億速云 閱讀:190 作者:柒染 欄目:大數據

選擇Pulsar而不是Kafka的7 大理由分別是什么,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

導讀:  對于云原生分布式應用程序的開發人員來說,為把更多精力放在應用程序和微服務開發上,而不是浪費時間處理復雜的消息基礎架構,他們需要一個解決方案幫助管理好這些基礎架構。 

構建消息基礎架構的第一步是選擇合適的消息中間件技術。可選方案有很多,從各種開源框架(如 RabbitMQ、ActiveMQ、NATS)到一些商用產品(如 IBM MQ 或者 RedHat AMQ),除此之外,我們還有 Kafka。不過,我們最后沒有使用 Kafka,而是選擇了 Pulsar。

為什么最終選擇了 Pulsar?下面列出了選擇 Pulsar 而不是 Kafka 的 7 大理由。

1. 流式處理和隊列的合體  

Pulsar 就像一個合二為一的產品,不僅可以像 Kafka 那樣處理高速率的實時場景,還支持標準的消息隊列模式,比如多消費者、失效備援訂閱和消息扇出等等。Pulsar 會自動跟蹤客戶端的讀取位置,并把這些信息保存在高性能的分布式 ledger(BookKeeper)當中。

與 Kafka 不同,Pulsar 具備傳統消息隊列(如 RabbitMQ)的功能,因此,只需要運行一個 Pulsar 系統就可以同時處理實時流和消息隊列。

2. 支持分區,但不是必需的  

如果你用過 Kafka,就一定知道分區是怎么回事。Kafka 中的所有主題都是分區的,這樣可以增加吞吐量。通過分區進而劃分到不同的 broker,單個主題的處理速率可以得到大幅提升。但如果某些主題不需要太高的處理速率,又該怎么辦呢?對于這類情況,如果能不考慮分區,避免隨之而來的 API 和管理工作,不是更好嗎?

Pulsar 就可以做到。如果只需要一個主題,可以使用一個主題而無需使用分區。如果需要保持多個消費者實例的處理速率,也不需要使用分區,Pulsar 的共享訂閱可以達到這一目的。

如果確實需要分區來進一步提升性能,Pulsar 也可以支持分區的使用。

3. 日志固然不錯,但 ledger 更勝一籌  

Kafka 開發團隊預見了日志對于一個實時數據交換系統的重要性。日志通過追加的方式寫入系統,寫入速度很快。日志中的數據是串行的,可以按照寫入的順序快速讀取數據。相比隨機讀取和寫入,串行讀取和寫入速度更快。對于任何一個提供數據保證的系統來說,持久化存儲方面的交互都是一個瓶頸,而日志抽象最大限度地提升了這方面的效率。

日志固然好,但當數據量過大時,也會給我們帶來一些麻煩,單臺服務器上保存所有日志已經成為一個挑戰。在日志占滿服務器存儲之后該怎么辦?如何進行擴容?或者保存日志的服務器宕機,需要重新從副本創建新的服務器時,該怎么辦?將日志從一臺服務器拷貝到另一臺服務器耗時很長,特別是想要同時保持系統實時數據時,完成這個操作就更難了。

Pulsar 對日志進行分段,從而避免了拷貝大塊的日志。通過 BookKeeper, Pulsar 將日志分段分散到多臺不同的服務器上。也就是說,日志不會保存在單臺服務器上,任何一臺服務器都不會成為整個系統的瓶頸。這使故障處理和擴容更加簡單,只需要加入新的服務器,而無需進行再均衡處理。

4. 無狀態  

對于云原生應用程序開發人員來說,最喜歡的東西就是無狀態。無狀態組件啟動速度快、可替換,還可以實現無縫擴容。如果消息中間件也是無狀態的,那豈不是更好?

Kafka 不是無狀態的,每個 broker 都包含了分區的所有日志,如果一個 broker 宕機,不是所有 broker 都可以接替它的工作。如果工作負載太高,也不能隨意添加新的 broker 來分擔,而是必須與持有其分區副本的  broker 進行狀態同步。

在 Pulsar 架構中,broker 是無狀態的。但是完全無狀態的系統無法持久化消息,所以 Pulsar 不是依靠 broker 來實現消息持久化的。在 Pulsar 架構中,數據的分發和保存是相互獨立的。broker 從生產者接收數據,然后將數據發送給消費者,但數據保存在 BookKeeper 中。

Pulsar 的 broker 是無狀態的,所以如果工作負載很高,可以直接添加新的 broker,快速接管工作負載。

5. 簡單的跨域復制  

跨域復制是 Pulsar 的拿手好戲。Pulsar 在設計之初就考慮到了這個特性,配置也很容易。無論是全局分布式應用程序還是災備方案,都可以通過 Pulsar  搞定。

6. 穩定的表現  

基準測試(http://openmessaging.cloud/docs/benchmarks/pulsar/)表明,Pulsar 可以在提供較高吞吐量的同時保持較低的延遲。

7. 完全開源  

Pulsar 提供了很多與 Kafka 相似的特性,比如跨域復制、流式消息處理(Pulsar Functions)、連接器(Pulsar IO)、基于 SQL 的主題查詢(Pulsar SQL)、schema registry,還有一些 Kafka 沒有的特性,比如分層存儲和多租戶。更贊的是,這些功能特性都是開源的。

關于選擇Pulsar而不是Kafka的7 大理由分別是什么問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

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

AI

普兰店市| 大埔县| 南投市| 天全县| 介休市| 大关县| 富蕴县| 改则县| 喜德县| 嘉祥县| 铁力市| 亳州市| 淮南市| 汕头市| 土默特右旗| 临沧市| 安陆市| 镇安县| 普宁市| 曲周县| 九江县| 达日县| 杭锦旗| 厦门市| 马龙县| 彭阳县| 汉沽区| 资兴市| 阿合奇县| 海盐县| 海安县| 永顺县| 定日县| 广南县| 沙湾县| 图木舒克市| 丹凤县| 凤凰县| 全椒县| 太仓市| 三都|