三、”發(fā)布訂閱”
上一節(jié)的練習(xí)中我們創(chuàng)建了一個(gè)工作隊(duì)列。隊(duì)列中的每條消息都會被發(fā)送至一個(gè)工作進(jìn)程。這節(jié),我們將做些完全不同的事情——我們將發(fā)送單個(gè)消息發(fā)送至多個(gè)消費(fèi)者。這種模式就是廣為人知的“發(fā)布訂閱”模式。
為了說明這種模式,我們將構(gòu)建一個(gè)簡單的日志系統(tǒng)。包括2個(gè)應(yīng)用程序,一個(gè)傳送日志消息另一個(gè)接收并打印這些消息。
我們的日志系統(tǒng)中每一個(gè)運(yùn)作的接收端程序都會收到這些消息。這種方式下,我們就可以運(yùn)行一個(gè)接收端發(fā)送日志消息至硬盤,同時(shí)可以運(yùn)行另一個(gè)接收端將日志打印到屏幕上。
理論上講,已發(fā)布的日志消息將會被廣播到所有的接收者。
交換器(Exchange)
之前的幾節(jié)練習(xí)中我們發(fā)送接收消息都是在隊(duì)列中進(jìn)行,是時(shí)候介紹下RabbitMQ完整的消息傳遞模式了。
先來迅速的回顧下我們之前章節(jié):
一個(gè)生產(chǎn)者就是一個(gè)用來發(fā)送消息的應(yīng)用程序
一個(gè) 隊(duì)列好比存儲消息的緩存buffer
一個(gè)消費(fèi)者就是一個(gè)用戶應(yīng)用程序用來接收消息
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊(duì)列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26