訊息佇列有:1、RabbitMQ,是一個在AMQP基礎上完成的,可重複使用的企業訊息系統,是目前最主流的訊息中間件之一;2、ActiveMQ,是完全支持JMS1.1和J2EE1.4規範的【JMS Provider】實作。
1 RabbitMQ
RabbitMQ 2007年發布,是一個在AMQP(高階訊息佇列協定)基礎上完成的,可重複使用的企業訊息系統,是目前最主流的訊息中間件之一。
主要功能:
可靠性: 提供了多種技術可以讓你在效能和可靠性之間進行權衡。這些技術包括持久性機制、投遞確認、發布者證實和高可用性機制;
靈活的路由: 訊息在到達佇列前是透過交換器進行路由的。 RabbitMQ為典型的路由邏輯提供了多種內建交換器類型。如果你有更複雜的路由需求,可以將這些交換器組合起來使用,你甚至可以實現自己的交換器類型,並且當做RabbitMQ的插件來使用;
2 ActiveMQ
ActiveMQ是由Apache出品,ActiveMQ 是完全支援JMS1.1和J2EE 1.4規範的JMS Provider實作。它非常快速,支援多種語言的客戶端和協議,而且可以非常容易的嵌入到企業的應用環境中,並有許多高級功能。 主要特性: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系統快速、可擴展且可持久化。它的分區特性,可複製和可容錯都是其不錯的特性。以上是訊息隊列有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!