IBM MQ -> RabbitMQ -> Kafka ->Pulsar, 消息隊列架構是如何演變的?
下圖顯示了架構比較。
IBM MQ 于 1993 年推出。它最初稱為 MQSeries,2002 年更名為 WebSphere MQ。2014 年更名為 IBM MQ。IBM MQ 是一款非常成功的產品,廣泛應用于金融領域。其收入在 2020 年仍達到 10 億美元。
隊列管理器是消息隊列的邏輯容器。它通過消息通道向其他隊列管理器傳輸數據。隊列存儲消息。消息是待傳輸數據的抽象概念。消息頭包含路由、存儲和交付信息。
2003 年,金融行業(yè)的多家機構希望開發(fā)一種標準化的消息傳遞協議,于是 AMQP(高級消息隊列協議)在摩根大通誕生了。與在 API 層面標準化的 JMS(Java 消息傳遞服務)不同,AMQP 是一種線層面的協議,這意味著它指定了要傳輸的數據格式。作為 AMQP 的實現之一,RabbitMQ 由 Rabbit Technologies 于 2007 年開發(fā),后被 VMWare 收購。
RabbitMQ 架構不同于 IBM MQ,更類似于 Kafka 概念。生產者向指定交換類型的交換發(fā)布消息。它可以是直接、主題或扇出。然后,交換中心根據不同的消息屬性和交換類型將消息路由到隊列中。消費者據此接收信息。
2011 年初,LinkedIn 開源了 Kafka,這是一個分布式事件流平臺。它以弗朗茨-卡夫卡(Franz Kafka)的名字命名。顧名思義,Kafka 是為寫而優(yōu)化的。它為處理實時數據饋送提供了一個高吞吐量、低延遲的平臺。它提供了一個統(tǒng)一的事件日志來實現事件流,在互聯網公司中得到廣泛應用。
Kafka 定義了生產者、經紀人、主題、分區(qū)和消費者。它的簡單性和容錯性使其能夠取代以前的產品,如基于 AMQP 的消息隊列。
Pulsar 最初由雅虎開發(fā),是一個一體化的消息和流平臺。與 Kafka 相比,Pulsar 融合了其他產品的許多有用功能。此外,Pulsar 的架構更加原生云化,在集群擴展和分區(qū)遷移等方面提供了更好的支持。
Pulsar 架構分為兩層:服務層和持久層。Pulsar 本身支持分層存儲,我們可以利用 AWS S3 等更便宜的對象存儲來長期持久化消息。
本文鏈接:http://www.tebozhan.com/showinfo-26-87952-0.html消息隊列架構是如何演變的?
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com
下一篇: Python 代碼中的事務隔離