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.