(二十二) vue 使用消息隊列進行數據通信 Rabbit MQ


vue 使用消息隊列進行數據通信 Rabbit MQ

@

概念:

1.是一種應用程序對應用程序的通信方法。應用程序通過讀寫出入隊列的消息(針對應用程序的數據)來通信,而無需專用連接來鏈接它們
2.舉個例子,假如你想投遞一封郵件,你可以將郵件投遞到某個郵箱,然后郵遞員從郵箱中獲取郵件,並將郵件交付到接收方,在這個過程中,RabbitMQ就 類似於郵箱 、郵局和郵遞員,RabbitMQ是一個消息隊列,它可以接收程序發送的消息,然后放入到相應的消息隊列中,另外一些程序可以從消息隊列中獲取數據,以此完成程序之間的通信.
在這里插入圖片描述
-RabbitMQ官方文檔
1.參考這個鏈接 解釋的很細
2.RabbitMQ消息隊列(一): Detailed Introduction 詳細介紹

注意 上述文件主要解釋概念,理解清楚,使用很簡單

第一種.本地測試
Windows下RabbitMQ的安裝

下載Erlang,地址:http://www.erlang.org/download/otp_win32_R15B.exe ,雙擊安裝即可(首先裝)

下載RabbitMQ,地址:http://www.rabbitmq.com/releases/rabbitmq-server/v3.3.4/rabbitmq-server-3.3.4.exe ,雙擊安裝即可

下載rabbit-client.jar ,Java代碼時需要導入。地址:http://www.rabbitmq.com/releases/rabbitmq-java-client/v3.3.4/rabbitmq-java-client-bin-3.3.4.zip

安裝完成后,在RabbitMQ的安裝目錄的sbin先會有:rabbitmq-server.bat
在這里插入圖片描述
第二種.直接有個服務器 跑起來,進入查看 像這樣:
在這里插入圖片描述

WEB接入代碼顯示

1.首先安裝依賴文件

// 先安裝stompjs
npm install stompjs

2.我選擇的是單頁面引入

 import Stomp from "stompjs";
    export const MQTT_SERVICE = 'ws://192.168.0.17:15674/ws' // mqtt服務地址
    export const MQTT_USERNAME = 'username' // 連接用戶名
    export const MQTT_PASSWORD = 'passward' //  連接密碼
    export const Virtual_host = 'bx' //  偵聽器端口
export default {
	data() {
		return {
			client: Stomp.client(MQTT_SERVICE)
    	};
  	},
  	created() {
		this.connect();
	},
	methods: {
		            // 消息隊列獲取
            mqtthuoquMsg() {
                //初始化連接
                const headers = {
                    login: MQTT_USERNAME,
                    passcode: MQTT_PASSWORD
                };
                //進行連接
                this.client.connect(headers.login, headers.passcode, this.onConnected,  this.onFailed, Virtual_host);
            },
            onConnected: function () {
                //訂閱頻道
                const topic = localStorage.getItem('personId');
                this.client.subscribe(topic, this.responseCallback, this.onFailed);
            },
            onFailed: function (frame) {
                console.log("MQ Failed: " + frame);
                this.$message.error('連接失敗')
            },
            // 回傳消息
            responseCallback: function (frame) {
                 console.log("MQ msg=>" + frame.body);
                //接收消息處理
            },
            // 斷開相應的連接
            close:function(){
                  this.client.disconnect(function() {
                            console.log("已退出賬號");
                  })
            }
	}
};

注意:

首先連接的時候 默認的登錄的用戶名 guest 密碼 guest 但是也可以自己創建
默認端口: 15674
在這里插入圖片描述

更注意:

在這里插入圖片描述

這個是偵聽器端口,一般在使用RabbitMQ的時候,盡量都是新創建一個新的賬號,所以都是要在高級配置文件里面進行修改 一下是官網的介紹
在這里插入圖片描述

拓展:

這個在使用的時候,會在控制台console 一直打印相關的連接信息 哐哐的打印 好多 ,解決辦法就是把那個配置文件修改
在node_modules中
在這里插入圖片描述


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM