天天看點

初識消息隊列

<a href="http://s2.51cto.com/wyfs02/M01/8A/6D/wKiom1gvHqeSrGAEAAGgZ8qZQ04755.png" target="_blank"></a>

<a href="http://s4.51cto.com/wyfs02/M01/8A/69/wKioL1gvHqiBGlgOAAK5paYkncU276.png" target="_blank"></a>

<a href="http://s5.51cto.com/wyfs02/M02/8A/6D/wKiom1gvHqnixTUAAAFvDp5SxlI466.png" target="_blank"></a>

一對一

<a href="http://s4.51cto.com/wyfs02/M00/8A/6D/wKiom1gvHqvDhMA6AASCvZtE4Hg409.png" target="_blank"></a>

點對點模型特性:消息隻有在處理成功後才會删除,失敗時不會删除,這樣下次取時,隊列中還會有

<a href="http://s5.51cto.com/wyfs02/M02/8A/69/wKioL1gvHqzjASRYAAJ0mXH27zA140.png" target="_blank"></a>

<a href="http://s2.51cto.com/wyfs02/M00/8A/6D/wKiom1gvHq_g7sn5AAWuA9dGR6M629.png" target="_blank"></a>

釋出-訂閱模型特性(3、可以了解為過期時間)

<a href="http://s2.51cto.com/wyfs02/M00/8A/69/wKioL1gvHrCRqE88AAHW_FQpO28620.png" target="_blank"></a>

釋出訂閱模型(3非持久訂閱:保持長連結-——持久訂閱:消費者産生的消息,會把消息存在消息中間件中,當消費者當機後,消息中間件會不停的向消費者發送資訊,直到成功接收)

<a href="http://s2.51cto.com/wyfs02/M01/8A/6D/wKiom1gvHrHBXDpFAALoxNhZ4xs053.png" target="_blank"></a>

交易系統,對實時性較高,是以用推的方式。

<a href="http://s4.51cto.com/wyfs02/M00/8A/69/wKioL1gvHrLTr2pFAAKyNAsFLmM628.png" target="_blank"></a>

延遲消息發送和暫存(通過tcp-copy方式複制一份消息隊列,複制出的消息隊列先不釋放,暫存隊列中,可以很好的模拟使用者并發,再一次性釋放出來)pull較好

<a href="http://s4.51cto.com/wyfs02/M01/8A/6D/wKiom1gvHrPxTlkgAAJlG31G7h4911.png" target="_blank"></a>

11、消息廣播(例:消費者購物,商品價格為100,突然有一天,變為105,但消費者看到的依然是100,這時便會出現資料不一緻,可以用消息中間件來解決,給消費者(cache)緩存資料同步更新來解決【但還有一種情況,消息中間件給cache同步時,同步較慢(正好趕上資料同步),一刷100,再一刷105的情況,但最終是105,可以用租約的方式去解決。給每個資料加一個時間戳,資料在某一時間會過期,當然必須保證伺服器時間是同步的】對實時性要求較高,是以用推較好pull

<a href="http://s4.51cto.com/wyfs02/M01/8A/69/wKioL1gvHrSDRO19AAHD0YcOPfQ104.png" target="_blank"></a>

<a href="http://s4.51cto.com/wyfs02/M01/8A/69/wKioL1gvHrWA6W9YAAOX2jxpxR4856.png" target="_blank"></a>

消息中間件分類(釋出訂閱用的push較多一些,(立馬同步到消費者(實時性比較高)pull 更多适用于點對點模型)

<a href="http://s4.51cto.com/wyfs02/M02/8A/6D/wKiom1gvHrbweY_TAAFBgZGn3ec765.png" target="_blank"></a>

14、資料複制立案----對時間的限制對比是用pull還是用push

<a href="http://s1.51cto.com/wyfs02/M02/8A/6D/wKiom1gvHrfyvEBzAAIh5FjaUEs229.png" target="_blank"></a>

metaq(根據磁盤順序來寫,典型pull模型)

<a href="http://s1.51cto.com/wyfs02/M02/8A/6A/wKioL1gvHrjQgx9bAAFfBoUiEws275.png" target="_blank"></a>

<a href="http://s2.51cto.com/wyfs02/M00/8A/6D/wKiom1gvHrqDnCmmAATsJK8WTf8821.png" target="_blank"></a>

<a href="http://s4.51cto.com/wyfs02/M02/8A/6A/wKioL1gvHrui8WuoAAE4dVxjPLg129.png" target="_blank"></a>

1、topic:可看作隊列的名字

2、offset:偏移,主要對消費者使用,給消費者使用,消費者存在的偏移,就是在消息中間件中的一個起始位置。

3、broker:存儲消息的一個點

4、依次定位,減少磁盤尋道時間。

<a href="http://s1.51cto.com/wyfs02/M00/8A/6D/wKiom1gvHr3zOxVRAAN5m_ucNeA646.png" target="_blank"></a>

<a href="http://s1.51cto.com/wyfs02/M00/8A/6A/wKioL1gvHr6yEyKGAAJV5IqSdk0296.png" target="_blank"></a>

<a href="http://s4.51cto.com/wyfs02/M00/8A/6A/wKioL1gvHsDxiCdmAAPUQ861948864.png" target="_blank"></a>

<a href="http://s3.51cto.com/wyfs02/M01/8A/6D/wKiom1gvHsCjCe-NAAFitPchWjo590.png" target="_blank"></a>

<a href="http://s3.51cto.com/wyfs02/M01/8A/6A/wKioL1gvHsGTP1LAAAGPKwhq6kM435.png" target="_blank"></a>

<a href="http://s3.51cto.com/wyfs02/M01/8A/6D/wKiom1gvHsLiSOnvAAD7s-ZcOto529.png" target="_blank"></a>

本文轉自 a120518129 51CTO部落格,原文連結:http://blog.51cto.com/silencezone/1874475,如需轉載請自行聯系原作者

上一篇: Vim常用指令