在某種業務場景,如商品秒殺時,會出現瞬間高併發,讀寫高併發。其中讀的高併發不是瞬時的,它持續存在,寫的高併發是瞬時的。讀寫同時存在,就會出現衝突,高併發瞬時的超過系統處理上限。這種情況就需要引入訊息佇列來解決。
2.1 佇列:queue可以實現讓其中的內容執行排隊處理機制 機製
2.2 訊息:在佇列中存放的數據
訊息佇列主要處理的是端到端的通訊(一端用戶端,一端伺服器端,終端用戶端)
2.3 背景
早期的訊息佇列,就是用來解決通訊強耦合的。後來隨着訊息佇列的使用,還可以處理高併發的快取-----消峯
訊息佇列的作用:
目前最受歡迎的開源訊息代理中介軟體之一,企業級別的訊息代理軟體.類似產品rocketMQ,kafka(收集流快取).
企業級別,常見的一種開源訊息中介軟體.實現了sun公司定義的AMQP高階訊息佇列協定.
AMQP: advanced message queue protocal. 一套介面,實現介面的訊息佇列可以做到效能較高
3.1結構
用戶端:能連線上rabbitmq的所有終端(程式碼語言.軟體程式),都叫做rabbitmq的用戶端.
伺服器端:rabbitmq啓動的訊息代理伺服器
結構:
粗粒度連線結構
細粒度核心元件
連線:用戶端可以獲取的連線通道,通過連線通道纔可以和伺服器端進行訊息的邏輯處理的溝通,發送訊息,監聽消費,宣告元件
交換機:
佇列元件:queue
真正儲存訊息物件的容器.一個rabbitmq中可以有多個佇列,但是每個佇列必須系結一個交換機使用
4.1啓動rabbitmq
登陸到雲注機執行啓動命令
[root@10-9-118-11 ~]# service rabbitmq-server start
4.2登陸控制檯
使用rabbitmq啓動的伺服器ip地址,使用15672埠號,使用 guest/guest使用者名稱密碼登陸