2:消息中間件種類

消息中間件種類。
ActiveMQ:併發高的狀況下不優秀,早期比較流行。
Kafka:只關注於高併發,性能好,可是對數據重複、丟失、錯誤驗證要求不高。
RocketMQ:純Java開發,借鑑於Kafka,阿里開源,維護複雜。
RabbitMQ:基於Frlang語言開發,可靠、安全、穩定(新能沒有Kafuka好可是也不差)。
爲何選擇RabbitMQ?
    跨語言。數據可靠性高。
    SpringAMQP整合了RabbitMQ,有豐富的API。
    高性能。
爲啥高性能?
     由於使用了Erlang語言,而Erlang語言是普遍用於交換機開發的語言。Erlang語言有原生Socket同樣的延遲底。
什麼是AMQP協議?
     AMQP(高級消息隊列協議):爲面向中間件設計的應用層協議。
    AMQP概念:
        Server:又稱Broker,接受客戶端鏈接。
        Connection:應用程序和Broker的鏈接。
        Channel:網絡信道,消息傳遞的通道,客戶端能夠創建多個Channel。
        Message:傳遞的數據。由Properties和Body組成。經過設置Properties能夠設置消息優先級、延遲投遞等特性。
        Virtual host:虛擬主機。用於在邏輯層面上隔離(相似於包名)。一個虛擬主機裏面能夠有多個交換機和消息隊列,可是不能有相同的。
        Exchange:交換機,接收消息,綁定消息隊列。
        Bindin:交換機和消息對類須要綁定,綁定中包含一個 routing key
        Routing key :路由規則,能夠用來肯定一個消息的傳遞路由。
        Queue:消息隊列。消費者監聽並消費。      
RabbitMQ消息是如何流轉的?    

 

相關文章
相關標籤/搜索