這一週主要是對RabbitMQ作了一下學習。正則表達式
RabbitMq的介紹以及環境安裝配置,以及RabbitMq的六種應用 。單生產者和消費者,數組
單生產者多消費者,消息的發佈訂閱,消息類型Echange中的Direct,Topic.以及RPC調用異步
RabbitMQ作爲一個消息中間件,用於進程間的通訊學習
常被用在異步處理,應用解藕,流量消峯等業務場景。server
RabbitMq是用Erlang開發的,因此安裝以前要先安裝Erlang中間件
服務端須要安裝RabbitMq-serverrabbitmq
vs開發的話,須要經過nuget下載RabbitMQ.client ,隊列
生產者和消費者經過共用一個隊列名稱,二者之間傳輸的消息以字節數組存放進程
消費者在接收事件中處理接收到的消息 。事件
一個生產者生產的任務 ,多個消費者來消費。
生產者指定隊列名稱queue和routingkey,
消費者建立EventingBasicConsumer。經過queue名稱以及設置BasicQos來設置每次取一條消息。
生產者把消息廣播出去,全部的消費者均可以同時接收到消息 。
兩端都聲明消息交換的類型是fanout。 消息頭中設置消息持久化爲true
消費者建立EventingBasicConsumer 在接收者事件是處理消息 。而且設置basecack
生產者發送的消息 以routingkey進行分組,消費者以routingkey進行不一樣的接民,
消費者輸入不一樣的routingkey接收不一樣的消息。
和Direct消息類型相似,只是加了類型正則表達式的通配符, "*"號表明任意一個單詞
"#"號表明0個或多個單詞
生產者和消費者都有一個接收事件 ,生產者先接收消費者發送過來的請求,而後根據請求的消息
得到相應的結果再加上消息頭上標識的消息id和回調隊列返回給生產者隊列 。
生產者的接收事件 中處理髮送請求的消息的返回值 。
我對個人文章負責,發現好多網上的文章 沒有實踐,都發出來的,讓人走不少彎路,若是你在個人文章中遇到沒法實現,或者沒法走通的問題。能夠直接在公衆號《愛碼農愛生活 》留言。一定會再次複查緣由。讓每一篇 文章的流程都能順利實現。