常見的消息隊列
需要JAVA Spring Cloud大型企業分布式微服務雲建構的B2B2C電子商務平台源碼請加企鵝求求:二一四七七七五六三三
目前業界有四款常用的消息隊列,它們分别是RabbitMQ、RocketMQ、ActiveMQ和Kafka。 RabbitMQ RabbitMQ在2007年釋出,是一個在AMQP(進階消息隊列協定)基礎上完成的,可複用的企業消息系統,是目前最流行的消息中間件之一。 RabbitMQ的主要特性有:
可靠性: RabbitMQ提供了多種技術可以讓你在性能和可靠性之間進行權衡。這些技術包括持久性機制、投遞确認、釋出者證明和高可用性機制; 靈活的路由:消息在到達隊列前是通過交換機進行路由的。RabbitMQ為典型的路由邏輯提供了多種内置交換機類型。如果你有更複雜的路由需求,可以将這些交換機組合起來使用,你甚至可以實作自己的交換機類型,并且當做RabbitMQ的插件來使用; 消息叢集:在相同區域網路中的多個RabbitMQ伺服器可以聚合在一起,作為一個獨立的邏輯代理來使用; 隊列高可用:隊列可以在叢集中的機器上進行鏡像,以確定在硬體問題下還保證消息安全; 多種協定的支援:RabbitMQ支援多種消息隊列協定; 多語言支援:RabbitMQ的伺服器端用Erlang語言編寫,其用戶端支援基本所有程式設計語言; 管理界面: RabbitMQ有一個易用的使用者界面,使得使用者可以監控和管理消息Broker的許多方面; 跟蹤機制:如果消息異常,RabbitMQ提供消息跟蹤機制,使用者可以跟蹤發現異常; 插件機制:提供了許多插件,來從多方面進行擴充,也可以編寫自己的插件;
RabbitMQ的優點有:
由于erlang語言的特性,mq 性能較好,高并發; 健壯、穩定、易用、跨平台、支援多種語言、文檔齊全; 有消息确認機制和持久化機制,可靠性高; 高度可定制的路由; 管理界面較豐富,在網際網路公司也有較大規模的應用; 社群活躍度高;
RabbitMQ的缺點有:
盡管結合erlang語言本身的并發優勢,性能較好,但是不利于做二次開發和維護; 實作了代理架構,意味着消息在發送到用戶端之前可以在中央節點上排隊。此特性使得RabbitMQ易于使用和部署,但是使得其運作速度較慢,因為中央節點增加了延遲,消息封裝後也比較大; 需要學習比較複雜的接口和協定,學習和維護成本較高;
springboot微服務多使用者商城系統java_代碼開源_B2B電商系統_B2C電商系統
轉載于:https://juejin.im/post/5c1328fcf265da61137f276f