Java Message Service (JMS)Java的消息中間件.git
metaq做爲i額消息中間件,應該是在這個範疇中.兩者範圍有必定差別.github
jms應該說是一種規範.服務器
metaq是一種框架,用於實現消息推送的功能.框架
1.metaq的消息機制與jms也有區別,涉及領域也有差別.目前淘寶商用(非開源版本)的metaq聽說要閉源.spa
並且要更名,真是個坑爹的消息.鏈接:https://yq.aliyun.com/articles/2892.net
2.另外還有一個開源的版本.聽說是他在淘寶發起的這個項目.目前也沒維護了...版本還停留在1.4.6.果真沒利益是跑不遠的.鏈接:https://github.com/killme2008/Metamorphosis中間件
第一個版本收費的,可是使用簡單.第二個版本須要本身搭建.免費開源.blog
一些基本概念與使用手冊:https://my.oschina.net/lmxy1990/blog/789919索引
這裏 記錄本身的理解:字符串
總體流程:
生產者(producer):
1.生產者產生的消息能夠分爲多個片斷,存儲在不一樣的broker中.
消息定義(message)
id
消息的惟一id,系統自動產生,用戶沒法設置,在發送成功後由服務器返回,發送失敗則爲0。
topic
消息的主題,訂閱者訂閱該主題便可接收發送到該主題下的消息,必須
data
消息的有效載荷,也就是消息內容,meta永遠不會修改消息內容,你發送出去是什麼樣子,接收到就是什麼樣子。
attribute
消息屬性,一個字符串,可選。發送者可設置消息屬性來讓消費者過濾。
在生產者發送消息的時候,能夠配置過濾屬性.
broker接受的消息,保存在文件中.文件-->索引文件.這是由broker完成.當consumer來拉取消息時候,broker再根據索引返回對應的data.