Java學習總結 2-1-2 Activemq

ActiveMQ是什麼
    Apache出品,最流行的,能力強勁的開元總線
 

    
JMS規範
    發送消息,進行異步通信,Java消息服務是一個與具體平臺無關的API
    
    
    
    消息模型:
        點對點:Point-to-Ponit               Queue
        發佈訂閱:Publish/Subscribe /主題    Topic
    
    JMS消息結構:
        消息頭--消息屬性--消息體
        
        
        
    
    
ActiveMQ特性
    支持多種編程語言
    支持多種傳輸協議
    有多種持久化方式

ActiveMQ安裝
    解壓即可
    作爲服務啓動 -- systemctl
                        systemctl start activemq
                        systemctl stop activemq

創建ActiveMQ系統服務:


ActiveMQ使用
    maven jar包
    <groupId>org.apache.activemq</groupId>
      <artifactId>activemq-all</artifactId>
      <version>5.15.9</version>
    </dependency>
    
    
協議
    支持多種協議傳輸和傳輸方式,允許客戶端使用多種協議連接
    支持的協議:OpenWire、MQTT、AUTO、AMQP、Stomp等
    支持的基礎傳輸方式:VM、TCP、SSL、UDP、Peer、Multicast、HTTP(s)等、以及更高級的Failover、Fanout、Discovery、ZeroConf方式
    協議配置:



    
    OpenWire協議:



        
        
    
    MQTT協議:物聯網使用場景較多
        IBM公司
        MQTT的結構簡單,相對於其他消息協議,它更加輕量級。適合在計算能力有限、底寬帶、不可靠的網絡環境使用
        
        
        服務質量(QoS)
            服務質量級別是一種關於發送者和接受者之間信息投遞的保證協議。MQTT中有三種QoS級別
            至多一次(0)  --  最多發送一次
            至少一次(1)  --  每次發送消息收到回執,如果沒收到回執將重發,服務端可能接收多次消息
            只有一次(2)  --  在1的基礎上。在保證消息發送到服務器端上並且做去重操作,性能最差
            
            爲什麼要有服務質量:
                QoS是MQTT的一個主要功能,他是的在不可靠的網絡下進行通信變得更爲簡單,因爲即便是在非常不可靠的網絡下,
                協議也可以使掌控是否需要重發消息並保證消息到達。他也是能幫主客戶端根據網絡環境和程序邏輯來自由選擇QoS
        
        MQTT配置:默認開啓
            
            
            
            

高可用集羣方案
    開啓高可用集羣配置:
    
    Master-Slave(主從)部署方式
        消息保存在數據庫,多個ActiveMQ連接在同一個數據庫 -> 故障切換
    
    
    Broker-Cluster部署方式
    
    
    Master-Slave與Broker-Cluster相結合的部署方式
    
    
    networkConnector網絡連接器配置說明


持久化
    KahaDB --> 默認
    JDBC
    AMQ --> 被KaHaDB替代
    LevelDB --> 廢棄
    持久化是對Queue和Topic進行的,無論使用哪種持久化方式,消息的存儲邏輯是一致的


            
            
            
            
            
            
            
            
    
    

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章