1. 程式人生 > >微服務 RabbitMQ 入門案例

微服務 RabbitMQ 入門案例

一、建立案例專案

 開啟 https://start.spring.io/  ,在“Dependencies”中搜索RabbitMQ和web,生成spring-boot專案

點選生成按鈕,即下載了一個包含RabbitMQ的專案。

然後匯入到Eclipse中。

二、配置RabbitMQ的配置檔案

在 application.properties 檔案裡配置上一篇文章中安裝的RabbitMQ的資訊,如下圖

注:這裡的埠號是5672,不是上篇中的訪問管理後臺頁面的埠號。

三、訊息佇列基礎知識。

 1 Provider       訊息生產者,就是投遞訊息的程式。 2 Consumer        訊息消費者,就是接受訊息的程式。 3 沒有使用訊息佇列時訊息傳遞方式

   

4 使用訊息佇列後訊息傳遞方式

5 什麼是佇列?      佇列就像存放了商品的倉庫或者商店,是生產商品的工廠和購買商品的使用者之間的中轉站 6 佇列裡儲存了什麼?      在rabbitMQ 中,資訊流從你的應用程式出發,來到Rabbitmq 的佇列,所有資訊可以只儲存在

     一個佇列中。佇列可以儲存很多資訊,因為它基本上是一個無限制的緩衝區,前提是你的機器有足夠的儲存空間。

7 佇列和應用程式的關係?      多個生產者可以將訊息傳送到同一個佇列中,多個訊息者也可以只從同一個佇列接收資料。

四、建立訊息佇列

由上面的基礎知識可知,訊息的佇列,其實就是生產者和消費者的中間橋樑。先建立訊息佇列,並且專案啟動時就應建立好。

QueueConfig.class

注意:這裡的Queue 匯入的是org.springframework.amqp.core.Queue;

五、建立生產者

Sender.class

AmqpTemplate : spring 封裝的MQ的模版,直接呼叫即可。

六、建立消費者

通過註解@RabbitListener 監聽訊息佇列;此註解裡的引數queues 可以使用資料格式放入多個訊息佇列名稱,可以監聽多個訊息佇列。

注:建立的訊息佇列、生產者、消費者的佇列名稱必須一一對應。

七、測試

程式碼如下

注入生產者Sender。每隔2秒鐘向佇列裡傳送一個訊息,訊息內容是當前的時間,共傳送10次。

執行後,控制檯列印如下。

同時,檢視RabbitMQ的guan管理後臺,會發現多了一個同名佇列 “hello-queue”。