您好,登錄后才能下訂單哦!
有哪些消息隊(duì)列?很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。
消息隊(duì)列有:1、RabbitMQ,是一個(gè)在AMQP基礎(chǔ)上完成的,可復(fù)用的企業(yè)消息系統(tǒng),是當(dāng)前最主流的消息中間件之一;2、ActiveMQ,是一個(gè)完全支持JMS1.1和J2EE1.4規(guī)范的【JMS Provider】實(shí)現(xiàn)。
1 RabbitMQ
RabbitMQ 2007年發(fā)布,是一個(gè)在AMQP(高級(jí)消息隊(duì)列協(xié)議)基礎(chǔ)上完成的,可復(fù)用的企業(yè)消息系統(tǒng),是當(dāng)前最主流的消息中間件之一。
主要特性:
可靠性: 提供了多種技術(shù)可以讓你在性能和可靠性之間進(jìn)行權(quán)衡。這些技術(shù)包括持久性機(jī)制、投遞確認(rèn)、發(fā)布者證實(shí)和高可用性機(jī)制;
靈活的路由: 消息在到達(dá)隊(duì)列前是通過(guò)交換機(jī)進(jìn)行路由的。RabbitMQ為典型的路由邏輯提供了多種內(nèi)置交換機(jī)類型。如果你有更復(fù)雜的路由需求,可以將這些交換機(jī)組合起來(lái)使用,你甚至可以實(shí)現(xiàn)自己的交換機(jī)類型,并且當(dāng)做RabbitMQ的插件來(lái)使用;
消息集群:在相同局域網(wǎng)中的多個(gè)RabbitMQ服務(wù)器可以聚合在一起,作為一個(gè)獨(dú)立的邏輯代理來(lái)使用;
隊(duì)列高可用:隊(duì)列可以在集群中的機(jī)器上進(jìn)行鏡像,以確保在硬件問(wèn)題下還保證消息安全;
多種協(xié)議的支持:支持多種消息隊(duì)列協(xié)議;服務(wù)器端用Erlang語(yǔ)言編寫(xiě),支持只要是你能想到的所有編程語(yǔ)言;
管理界面: RabbitMQ有一個(gè)易用的用戶界面,使得用戶可以監(jiān)控和管理消息Broker的許多方面;
跟蹤機(jī)制:如果消息異常,RabbitMQ提供消息跟蹤機(jī)制,使用者可以找出發(fā)生了什么;
插件機(jī)制:提供了許多插件,來(lái)從多方面進(jìn)行擴(kuò)展,也可以編寫(xiě)自己的插件;
2 ActiveMQ
ActiveMQ是由Apache出品,ActiveMQ 是一個(gè)完全支持JMS1.1和J2EE 1.4規(guī)范的 JMS Provider實(shí)現(xiàn)。它非常快速,支持多種語(yǔ)言的客戶端和協(xié)議,而且可以非常容易的嵌入到企業(yè)的應(yīng)用環(huán)境中,并有許多高級(jí)功能。
主要特性:
服從 JMS 規(guī)范:JMS 規(guī)范提供了良好的標(biāo)準(zhǔn)和保證,包括:同步或異步的消息分發(fā),一次和僅一次的消息分發(fā),消息接收和訂閱等等。遵從 JMS 規(guī)范的好處在于,不論使用什么 JMS 實(shí)現(xiàn)提供者,這些基礎(chǔ)特性都是可用的;
連接性:ActiveMQ 提供了廣泛的連接選項(xiàng),支持的協(xié)議有:HTTP/S,IP 多播,SSL,STOMP,TCP,UDP,XMPP等等。對(duì)眾多協(xié)議的支持讓 ActiveMQ 擁有了很好的靈活性。
支持的協(xié)議種類多:OpenWire、STOMP、REST、XMPP、AMQP ;
持久化插件和安全插件:ActiveMQ 提供了多種持久化選擇。而且,ActiveMQ 的安全性也可以完全依據(jù)用戶需求進(jìn)行自定義鑒權(quán)和授權(quán);
支持的客戶端語(yǔ)言種類多:除了 Java 之外,還有:C/C++,.NET,Perl,PHP,Python,Ruby;
代理集群:多個(gè) ActiveMQ 代理可以組成一個(gè)集群來(lái)提供服務(wù);
異常簡(jiǎn)單的管理:ActiveMQ 是以開(kāi)發(fā)者思維被設(shè)計(jì)的。所以,它并不需要專門的管理員,因?yàn)樗峁┝撕?jiǎn)單又使用的管理特性。有很多中方法可以監(jiān)控 ActiveMQ 不同層面的數(shù)據(jù),
包括使用在 JConsole 或者 ActiveMQ 的Web Console 中使用 JMX,通過(guò)處理 JMX 的告警消息,通過(guò)使用命令行腳本,甚至可以通過(guò)監(jiān)控各種類型的日志。
3 RocketMQ
RocketMQ出自 阿里公司的開(kāi)源產(chǎn)品,用 Java 語(yǔ)言實(shí)現(xiàn),在設(shè)計(jì)時(shí)參考了 Kafka,并做出了自己的一些改進(jìn),消息可靠性上比 Kafka 更好。RocketMQ在阿里集團(tuán)被廣泛應(yīng)用在訂單,交易,充值,流計(jì)算,消息推送,日志流式處理,binglog分發(fā)等場(chǎng)景。
是一個(gè)隊(duì)列模型的消息中間件,具有高性能、高可靠、高實(shí)時(shí)、分布式特點(diǎn);
Producer、Consumer、隊(duì)列都可以分布式;
Producer向一些隊(duì)列輪流發(fā)送消息,隊(duì)列集合稱為Topic,Consumer如果做廣播消費(fèi),則一個(gè)consumer實(shí)例消費(fèi)這個(gè)Topic對(duì)應(yīng)的所有隊(duì)列,如果做集群消費(fèi),
則多個(gè)Consumer實(shí)例平均消費(fèi)這個(gè)topic對(duì)應(yīng)的隊(duì)列集合;
能夠保證嚴(yán)格的消息順序;
提供豐富的消息拉取模式;
高效的訂閱者水平擴(kuò)展能力;
實(shí)時(shí)的消息訂閱機(jī)制;
億級(jí)消息堆積能力;
較少的依賴;
4 Kafka
Apache Kafka是一個(gè)分布式消息發(fā)布訂閱系統(tǒng)。它最初由LinkedIn公司基于獨(dú)特的設(shè)計(jì)實(shí)現(xiàn)為一個(gè)分布式的提交日志系統(tǒng)( a distributed commit log),,之后成為Apache項(xiàng)目的一部分。Kafka系統(tǒng)快速、可擴(kuò)展并且可持久化。它的分區(qū)特性,可復(fù)制和可容錯(cuò)都是其不錯(cuò)的特性。
快速持久化,可以在O(1)的系統(tǒng)開(kāi)銷下進(jìn)行消息持久化;
高吞吐,在一臺(tái)普通的服務(wù)器上既可以達(dá)到10W/s的吞吐速率;
.完全的分布式系統(tǒng),Broker、Producer、Consumer都原生自動(dòng)支持分布式,自動(dòng)實(shí)現(xiàn)負(fù)載均衡;
支持同步和異步復(fù)制兩種HA;
支持?jǐn)?shù)據(jù)批量發(fā)送和拉?。?/p>
zero-copy:減少IO操作步驟;
數(shù)據(jù)遷移、擴(kuò)容對(duì)用戶透明;
無(wú)需停機(jī)即可擴(kuò)展機(jī)器;
其他特性:嚴(yán)格的消息順序、豐富的消息拉取模型、高效訂閱者水平擴(kuò)展、實(shí)時(shí)的消息訂閱、億級(jí)的消息堆積能力、定期刪除機(jī)制;
看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝您對(duì)億速云的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。