微服務 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”。