搜尋
首頁常見問題訊息隊列有哪些

訊息隊列有哪些

Jun 29, 2020 am 11:30 AM
訊息佇列

訊息佇列有:1、RabbitMQ,是一個在AMQP基礎上完成的,可重複使用的企業訊息系統,是目前最主流的訊息中間件之一;2、ActiveMQ,是完全支持JMS1.1和J2EE1.4規範的【JMS Provider】實作。

訊息隊列有哪些

1 RabbitMQ

RabbitMQ 2007年發布,是一個在AMQP(高階訊息佇列協定)基礎上完成的,可重複使用的企業訊息系統,是目前最主流的訊息中間件之一。

主要功能:

  • 可靠性: 提供了多種技術可以讓你在效能和可靠性之間進行權衡。這些技術包括持久性機制、投遞確認、發布者證實和高可用性機制;

  • 靈活的路由: 訊息在到達佇列前是透過交換器進行路由的。 RabbitMQ為典型的路由邏輯提供了多種內建交換器類型。如果你有更複雜的路由需求,可以將這些交換器組合起來使用,你甚至可以實現自己的交換器類型,並且當做RabbitMQ的插件來使用;

  • ##訊息集群:在相同區域網路中的多個RabbitMQ伺服器可以聚合在一起,作為一個獨立的邏輯代理來使用;

  • 隊列高可用:佇列可以在叢集中的機器上進行鏡像,以確保在硬體問題下也保證訊息安全;

  • 多種協定的支援:支援多種訊息佇列協定;伺服器端以Erlang語言編寫,支援只要是你能想到的所有程式語言;

  • 管理介面: RabbitMQ有一個易用的使用者介面,使得使用者可以監控和管理訊息Broker的許多面向;

  • 追蹤機制:如果訊息異常,RabbitMQ提供訊息追蹤機制,使用者可以找出發生了什麼;

  • 插件機制:提供了許多插件,來從多方面進行擴展,也可以寫自己的外掛;

2 ActiveMQ

ActiveMQ是由Apache出品,ActiveMQ 是完全支援JMS1.1和J2EE 1.4規範的JMS Provider實作。它非常快速,支援多種語言的客戶端和協議,而且可以非常容易的嵌入到企業的應用環境中,並有許多高級功能。

主要特性:

  • 服從JMS 規格:JMS 規格提供了良好的標準和保證,包括:同步或非同步的訊息分發,一次和僅一次的訊息分發,訊息接收和訂閱等等。遵從JMS 規範的好處在於,無論使用什麼JMS 實作提供者,這些基礎特性都是可用的;

  • 連結性:ActiveMQ 提供了廣泛的連結選項,支援的協定有:HTTP/S,IP 多播,SSL,STOMP,TCP,UDP,XMPP等。對眾多協定的支援讓 ActiveMQ 擁有了很好的靈活性。

  • 支援的協定種類多:OpenWire、STOMP、REST、XMPP、AMQP ;

  • 持久化外掛程式和安全性外掛程式:ActiveMQ 提供了多種持久化選擇。而且,ActiveMQ 的安全性也可以完全依據使用者需求進行自訂鑑權與授權;

  • 支援的客戶語言種類多:除了Java 之外,還有:C/ C ,.NET,Perl,PHP,Python,Ruby;

  • 代理叢集:多個ActiveMQ 代理程式可以組成一個叢集來提供服務;

  • #異常簡單的管理:ActiveMQ 是以開發者思維被設計出來的。所以,它並不需要專門的管理員,因為它提供了簡單又使用的管理特性。有許多中方法可以監控ActiveMQ 不同層面的數據,

  • 包括使用在JConsole 或ActiveMQ 的Web Console 中使用JMX,透過處理JMX 的告警訊息,透過使用命令列腳本,甚至可以透過監控各種類型的日誌。

3 RocketMQ

RocketMQ出自阿里公司的開源產品,用Java 語言實現,在設計時參考了Kafka,並做出了自己的一些改進,訊息可靠性上比Kafka 更好。 RocketMQ在阿里集團被廣泛應用在訂單,交易,充值,流計算,訊息推送,日誌流式處理,binglog分發等場景。

  • 是一個佇列模型的訊息中間件,具有高效能、高可靠、高實時、分散式特性;

  • Producer、Consumer 、隊列都可以分佈式;

  • Producer向一些隊列輪流發送訊息,隊列集合稱為Topic,Consumer如果做廣播消費,則一個consumer實例消費這個Topic對應的所有隊列,如果做叢集消費,

  • 則多個Consumer實例平均消費這個topic對應的佇列集合;

  • ##能夠保證嚴格的訊息順序;

  • 提供豐富的訊息拉取模式;

  • 高效率的訂閱者等級擴充能力;

  • #即時的訊息訂閱機制;

  • 億級訊息堆積能力;

  • 較少的依賴;

#4 Kafka

Apache Kafka是分散式訊息發布訂閱系統。它最初由LinkedIn公司基於獨特的設計實現為一個分散式的提交日誌系統( a distributed commit log),之後成為Apache專案的一部分。 Kafka系統快速、可擴展且可持久化。它的分區特性,可複製和可容錯都是其不錯的特性。

  • 快速持久化,可以在O(1)的系統開銷下進行訊息持久化;

  • 高吞吐,在一台普通的伺服器上既可達到10W/s的吞吐速率; 

  • .完整的分散式系統,Broker、Producer、Consumer都原生自動支援分散式,自動實現負載平衡;

  • 支援同步和非同步複製兩種HA;

  • #支援資料批次發送和拉取;

  • zero-copy:減少IO操作步驟;

  • 資料遷移、擴充對使用者透明;

  • 無需停機即可擴充機器;

  • 其他特性:嚴格的訊息順序、豐富的訊息拉取模型、高效訂閱者水平擴展、即時的訊息訂閱、億級的訊息堆積能力、定期刪除機制;

以上是訊息隊列有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱工具

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境