<xmp id="isueg"><nav id="isueg"></nav>
  • <dd id="isueg"><nav id="isueg"></nav></dd>
    <xmp id="isueg">
  • <center id="isueg"></center>
    <nav id="isueg"><code id="isueg"></code></nav>
    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主要特性

    • 可伸縮性:集群服務

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

    全部教程
    亚洲AV女人的天堂在线观看
    <xmp id="isueg"><nav id="isueg"></nav>
  • <dd id="isueg"><nav id="isueg"></nav></dd>
    <xmp id="isueg">
  • <center id="isueg"></center>
    <nav id="isueg"><code id="isueg"></code></nav>