Java學習總結 2-1-1 分佈式消息中間件設計篇

什麼是消息中間件
    利用高效的消息傳遞機制進行平臺無關的數據交流
    基於數據通信來進行分佈式系統的集成
    通過提供消息傳遞和消息排隊模型,它可以在分佈式環境下擴展進程間的通信
    
    應用場景
        跨系統數據傳遞、高併發流量肖鋒、數據異步處理等。。
    
    常用的消息中間件
        ActiveMQ、RabbitMq、kafka、RocketMQ
        
    核心設計
        一種具備接收請求、保存數據、發送數據等功能的網絡應用
        和一般網絡應用的區別是他主要負責數據的接收和傳遞,所以性能一般都高於普通程序
        
    5大核心組成
        協議
        持久化機制
        消息分發機制
        高可用設計
        高可靠設計
協議
    協議是計算機之間通信時共同遵從的一組約定,都遵守相同的約定,計算機之間才能相互交流
    是對數據格式和計算機之間交換數據是必須遵守的規則的正式描述
    
    協議三要素
        1、語法:即數據與控制信息的結構或格式       http規定了請求報文和相應報文的具體格式
        2、語義:即需要發出何種控制信息,完成何種動作以及做出何種相應       客戶端主動發起的操作成爲請求
        3、時序(同步):即事件實現順序的詳細說明    一個請求對應一個響應
        
    消息中間件常用的協議
        OpenWire、AMQP、MQTT、Kafka、OpenMessaaage
        
        爲什麼直接使用Http協議?
            http內容複雜,短鏈接不適合長時間對消息中間件操作
        
        AMQP(Advanced Message Queuing Protocol):
            RabbitMq、ACTIVEMQ
            高級消息隊列協議04年JPMorgan Chase(摩根大通集團)聯合其他公司共同設計
            
            特性:
                事務支持、持久化支持,出生金融行業,在可靠性消息處理上具備天然的優勢
        
        MQTT(Message Queuing Telemetry Transport):
            RabbitMq、ACTIVEMQ
            消息隊列搖測傳輸是IBM開發的一個即時通訊協議,物聯網系統架構中的重要組成部分
            
            特性:
                輕量、結構簡單、傳輸快、沒有事務支持、沒有持久化相關設計
            
            應用場景:
                使用於計算能力有限、低帶寬、網絡不穩定的場景
        
        OpenMessaaage:
            RabbitMq
            是由阿里發起,與雅虎、滴滴出行、Streamlio等公司共同參與創立的分佈式中間件、流處理領域的應用開發標準
            是國內首個在全球範圍內發起的分佈式消息領域國際標準
            
            特性:
                結構簡單、解析快、有事務設計、有持久化設計
        
        Kafka:
            Kafka
            基於TCP爲禁止協議。消息內部是通過長度來分割,有一些基本數據類組成
            
            特性:
                結構簡單、解析快、無事務設計、有持久化設計
                
                
持久化
    將數據存入磁盤,而不是存在內存中隨服服務重啓而消失,使數據能夠永久保存叫持久化
    
    
    
消息分發

    


高可用
    主從共享
    主從同步
    多主機羣轉發
    Master-Slave與Broker-Cluster結合


高可靠
    指系統可以無障礙的持續運行。比如一個系統從來不崩潰、報錯,或者崩潰、報錯的機率較低就爲高可靠
    在高併發業務場景下,如果不能保證系統的高可靠,那造成的損失將會非常嚴重
        消息傳輸可靠:通過協議來保證系統間數據解析的正確性
        消息存儲可靠:通過持久化來保證消息的存儲可靠性

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