• <nav id="wkkge"><strong id="wkkge"></strong></nav>
  • <menu id="wkkge"></menu>
  • RabbitMQ教程
    RabbitMQ安裝
    RabbitMQ消息發送和接收

    RabbitMQ教程

     

     

    課程介紹


    1. 學習目標


    能夠獨立搭建RabbitMQ并實現消息發送和接收


    2 學習內容


    • RabbitMQ的環境搭建


    • 使用純Java發送和接收消息


    • 使用SpringBoot發送和接收消息


    • 實戰案例開發

     

     

    RabbitMQ介紹

     

    RabbitMQ是實現了高級消息隊列協議(AMQP)的開源消息代理軟件(亦稱面向消息的中間件)。RabbitMQ服務器是用Erlang語言編寫的,而集群和故障轉移是構建在開放電信平臺框架上的。所有主要的編程語言均有與代理接口通訊的客戶端庫。


    • 什么是MQ?


    MQ全稱為Message Queue, 消息隊列(MQ)是一種應用程序對應用程序的通信方法。

     

    • 要解決什么樣的問題?


    在項目中,將一些無需即時返回且耗時的操作提取出來,進行了異步處理,而這種異步處理的方式大大的節省了服務器的請求響應時間,從而提高了系統的吞吐量。

     

     

    RabbitMQ歷史

     

    Rabbit科技有限公司開發了RabbitMQ,并提供對其的支持。起初,Rabbit科技是LSHIFT和CohesiveFT在2007年成立的合資企業,2010年4月被VMware旗下的SpringSource收購。RabbitMQ在2013年5月成為GoPivotal的一部分。

     

     

    RabbitMQ安裝與使用


    • 安裝Linux以及必要的依賴包(Centos7)


    • 下載RabbitMQ的安裝包


    • 安裝,修改相關配置

     

     

    RabbitMQ基本概念

     

    RabbitMQ是一套開源(MPL)的消息隊列服務軟件,是由 LShift 提供的一個 Advanced Message Queuing Protocol (AMQP) 的開源實現,由以高性能、健壯以及可伸縮性出名的 Erlang 寫成。


    RabbitMQ服務支持下列操作系統:

    • Linux
    • WindowsNT 到 10
    • Windows Server2003 到 2016
    • macOS
    • Solaris
    • FreeBSD
    • TRU64
    • VxWorks

     

    RabbitMQ支持下列編程語言:

    • Python
    • Java
    • Ruby
    • PHP
    • C#
    • JavaScript
    • Go
    • Elixir
    • Objective-C
    • Swift

     

     

    RabbitMQ核心概念

     

    1. RabbitMQ結構圖

     

     

    2. AMQP核心概念


    Server:又稱Broker接收客戶端的連接,實現AMQP實體服務


    Connection:鏈接,用于應用程序鏈接到Broker


    Channel:網絡通道,Channel是進行消息讀寫的一個通道每一個Channel都表示一個會話,有點類似我們之前的Session概念


    Message:消息,消息就是我們真正用來進行傳輸的數據,Message由兩部分組成,Properties和Body,Properties用于對消息就行修飾,比如優先級或是否持久等,Body則是消息數據的主體


    Virtual host:虛擬地址,用于進行邏輯隔離,一個Server擁有過多個Vitual hsot,一個Virual hsot會擁有多個Exchange(交換機)和Queue(隊列)


    Exchange:交換機,用于具體接收消息并將消息根據綁定路由key存入到指定的隊列中


    Binding:綁定,就是將Exchange和Queue鏈接在一起,通過一個Routing key進行綁定


    Routing key:路由規則,消息發送到Exchang后會根據這個規則將消息存入對應的Queue


    Queue:隊列也稱Message Queue簡稱MQ,用于存放消息,并使用隊列的結構先進先出、后進后出

     

    3. RabbiMQ執行流程

     

       

     

     

    RabbitMQ主要特性


    • 可伸縮性:集群服務


    • 消息持久化:從內存持久化消息到硬盤,再從硬盤加載到內存

     

     

    全部教程
  • <nav id="wkkge"><strong id="wkkge"></strong></nav>
  • <menu id="wkkge"></menu>
  • 面对面棋牌游戏