<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          消息隊列架構是如何演變的?

          共 3050字,需瀏覽 7分鐘

           ·

          2024-05-11 19:50


          IBM MQ -> RabbitMQ -> Kafka ->Pulsar, 消息隊列架構是如何演變的?

          下圖顯示了架構比較。

          01 IBM MQ

          IBM MQ 于 1993 年推出。它最初稱為 MQSeries,2002 年更名為 WebSphere MQ。2014 年更名為 IBM MQ。IBM MQ 是一款非常成功的產(chǎn)品,廣泛應用于金融領域。其收入在 2020 年仍達到 10 億美元。

          隊列管理器是消息隊列的邏輯容器。它通過消息通道向其他隊列管理器傳輸數(shù)據(jù)。隊列存儲消息。消息是待傳輸數(shù)據(jù)的抽象概念。消息頭包含路由、存儲和交付信息。

          02 RabbitMQ

          2003 年,金融行業(yè)的多家機構希望開發(fā)一種標準化的消息傳遞協(xié)議,于是 AMQP(高級消息隊列協(xié)議)在摩根大通誕生了。與在 API 層面標準化的 JMS(Java 消息傳遞服務)不同,AMQP 是一種線層面的協(xié)議,這意味著它指定了要傳輸?shù)臄?shù)據(jù)格式。作為 AMQP 的實現(xiàn)之一,RabbitMQ 由 Rabbit Technologies 于 2007 年開發(fā),后被 VMWare 收購。

          RabbitMQ 架構不同于 IBM MQ,更類似于 Kafka 概念。生產(chǎn)者向指定交換類型的交換發(fā)布消息。它可以是直接、主題或扇出。然后,交換中心根據(jù)不同的消息屬性和交換類型將消息路由到隊列中。消費者據(jù)此接收信息。

          03 Kafka

          2011 年初,LinkedIn 開源了 Kafka,這是一個分布式事件流平臺。它以弗朗茨-卡夫卡(Franz Kafka)的名字命名。顧名思義,Kafka 是為寫而優(yōu)化的。它為處理實時數(shù)據(jù)饋送提供了一個高吞吐量、低延遲的平臺。它提供了一個統(tǒng)一的事件日志來實現(xiàn)事件流,在互聯(lián)網(wǎng)公司中得到廣泛應用。

          Kafka 定義了生產(chǎn)者、經(jīng)紀人、主題、分區(qū)和消費者。它的簡單性和容錯性使其能夠取代以前的產(chǎn)品,如基于 AMQP 的消息隊列。

          04 Pulsar

          Pulsar 最初由雅虎開發(fā),是一個一體化的消息和流平臺。與 Kafka 相比,Pulsar 融合了其他產(chǎn)品的許多有用功能。此外,Pulsar 的架構更加原生云化,在集群擴展和分區(qū)遷移等方面提供了更好的支持。

          Pulsar 架構分為兩層:服務層和持久層。Pulsar 本身支持分層存儲,我們可以利用 AWS S3 等更便宜的對象存儲來長期持久化消息。





          以上內(nèi)容源自公眾號“ByteByteGo”,是硅谷百萬粉絲技術大v、《搞定系統(tǒng)設計:面試敲開大廠的門》一書作者Alex Xu的官方號。



          關于系統(tǒng)設計的面試,可以說是所有技術面試中最難的。

          面試者會被要求設計一個軟件系統(tǒng),比如news feed、谷歌搜索、聊天系統(tǒng)等。

          這些問題令人望而生畏,沒有特定的解題模式,通常范圍都非常廣且模糊,其答案也是開放的,也可以說不存在標準答案或正確答案。

          很多公司都設有系統(tǒng)設計面試,因為這種面試能考驗軟件工程師日常工作所需的溝通能力和解決問題的能力。

          面試官會考查候選人如何分析一個模糊的問題并一步步解決這個問題;同時,他們還會考查候選人闡述自己想法的能力、與其他人討論的能力、評估及優(yōu)化系統(tǒng)的能力。

          系統(tǒng)設計的問題是開放式的。

          在現(xiàn)實世界中,不同的系統(tǒng)之間存在許多差別,而系統(tǒng)自身還要應對各種變化。

          面試官期望得到的答案是一個能滿足系統(tǒng)設計目標的架構。

          在面試過程中,對問題的討論可能會因面試官的個人風格不同而走向不同的方向。

          有些面試官喜歡詢問高層架構設計方面的問題,以全面地考查面試者的知識面,也有些面試官會選擇一個或者幾個領域來深入地考查知識點。

          一般來說,應該搞清楚系統(tǒng)的需求、限制和瓶頸,以便面試雙方可以有效地進行溝通。

          Alex所著《搞定系統(tǒng)設計:面試敲開大廠的門》一書的目標是提供一個可靠的策略,幫助面試者回答系統(tǒng)設計問題。采取正確的策略且具備必要的知識,對面試的成功至關重要。

          本書講述了構建一個可擴展系統(tǒng)所需的基礎知識。你從本書中獲得的知識越多,在解決系統(tǒng)設計問題時就越從容。

          本書還提供了一個逐步解決系統(tǒng)設計問題的框架,用了很多實例來闡釋這種系統(tǒng)性的解決方法且附有詳細步驟,你可以照著操作。只要勤加練習,在回答系統(tǒng)設計面試問題時,你就會胸有成竹。

          本書原著豆瓣評分8.4,得到眾多讀者的好評,案例經(jīng)典、信息全面系統(tǒng)、非常適合用來面試!


          如果你想順利通過高難度的系統(tǒng)設計面試,那就看看這本被眾多讀者驗證過的好書吧~~

          ↑限時五折優(yōu)惠↑

          限時五折優(yōu)惠,快快搶購吧!


          發(fā)布:劉恩惠

          審核:陳歆懿

              
                
           


          如果喜歡本文
          歡迎 在看留言分享至朋友圈 三連
          <
           PAST · 往期回顧 
          >


          書單 | 5月新書速遞!


          瀏覽 37
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  欧美日韩123区不卡 | 小泬BBBB免费看 | 免费AV网址大全 | 激情色五月婷婷 | 一区二区三区四区精品视频 |