MQ标准
目录
MQ标准 1
1 Openmessaging 介绍 1
2 openmessaging内容介绍 2
消息模型 3
openmessaging使用样例 4MQ标准1 Openmessaging 介绍
Openmessaging 云原生,与厂商中立,分布式消息开放标准。
消息在数据处理,限制架构中被使用,例如( for decoupling)队列,缓存,有序,副本化等,当数据在不同消息和流平台传输时,出现了复杂的问题,意味着更多的工作内容。虽然JMS在过去一段时间是一个好方案,在java环境中有一定的缺陷,在负载均衡,熔断处理,权限处理,安全和流处理缺少明确的标准,使得不满足现在云原生的消息流应用。
openmessaging标准在于:语言不限,平台独立,消息支持多平台,架构和系统全面的,云原生,厂商中立,工业级分布式消息便于(Facilitating )使用基准测试来测试应用性能云数据消息流更加灵活,独立,安全,规模化(scalability)打造贡献者成长生态圈
标准不包含:指定语言运行api性能评估基准测试接口和其他系统数据交换连接接口2 openmessaging内容介绍
对象
Namespace 独立命名空间,资源隔离;
Topic 表明和消息投递方向,保存和持有消息;
Producer 发送消息到topic;
Consumer 消费topic中收到的消息;
Routing topic消息是服务侧的,不是消费侧的,routing负责通过pipeline将消息从topic移动到queue;
Queue 封装了消息目的地的管理对象,queue被分成了分区,分区使用特定方法;
Delivery semantics 描述了投递机制,在producer和consumer之间存在三个机制保证:至少一次:至少被消费一次最多一次:最多被消费一次,消息可能丢失只是一次:被消费一次,仅仅一次
topic和queue有哪些区别?topic和queue都是用来承载messagetopic面向的是生产者,queue面向的是消费者topic里消息来自生产者,queue里消息来自topic或直接来自生产者queue被分成了分区,topic没有这样的定义大多数情况下queue是topic数据小子集合创建和销毁queue和生产者无关,很easy
数据类型,在属性中,这些抽象数据类型可以使用
String:可以打印的unicode字符串
Binary:字节序列
Keyvalue: 字典类型。键类型为string,值类型为string,binary,numeric
Numeric: short : 15次方的范围
Integer:31次方的范围
Long 63次方的范围
Float 32比特浮点数据
Double 64比特浮点数据
Object :string,binary,keyvalue,numeric的泛型
URI:string表示uri-reference,遵守 RFC 3985消息模型消息类型-字节型
消息体包含了连续的流字节,消息体会迭代匹配存在的消息类型格式。自定义消息类型去编码消息体,厂商负责在规则下解码这些字节数据。消息格式
包含:版本,凭证,系统头,扩展头和消息体Version :string,消息标准版本,需要填写Header:keyvalue,所有消息支持同样的头区域集合,这些区域集合用来验证身份和投递消息,需要填写extensionHeader:扩展头,keyvalue,消息中间件扩展元数据。不是必要的,将来大多数消息中间件会实现相关内容,这些区域很多开发消息流的人都广泛了解Properties:keyvalue,除了消息头,用户可以通过这些区域去传递一些属性Data:字节,传输的数据部分,包含应用的数据,完全对服务端透明,无法查看和修改消息体,可选填写
具体每一部分包含内容描述如下
Message Header
消息头
Messageid:string,唯一标识,系统生成值,必填,非空字符串
bornTimestamp:long,客户端发送时间,不是传输时间,传输时间可能延迟,系统自动生成,必填
Bornhost:string,记录消息发送端的本地host,必填非空
Qos:integer,记录消息的投递方式,有三种0,1,2,上文已经提到过三种投递方式
Compression:string,消息体压缩算法,厂商保证接收正常,可选
Destination:string,描述了消息投递逻辑位置,如queue和topic,指定destination后,会送到特定目的地,消息收到后,这个值标识所在queue的逻辑位置。
消息模型案例
{
"message" :{
"version" : "1.0.0" ,
"header" :{
"messageId" : "7F00000100002873000000000004F49C" ,
"destination" : "orderQueue" ,
"bornTimestamp" : 1533780827824 ,
"bornHost" : "172.24.0.101:10035" ,
"compression" : "gzip" ,
"qos" : 1
},
"extensionHeader" :{
"partition" : 1 ,
"storeTimestamp" : 1533780827825 ,
"storeHost" : "172.24.0.102:52511" ,
"messageKey" : "orderId-103368921567" ,
"correlationId" : "7F00000100002873000000000004F2B4" ,
"delayTime" : 30000 ,
"transactionId" : "1E0578887D3F18B4AAC22B64D2B40A62" ,
"expireTime" : 1533780830000 ,
"traceId" : "1E0578887D3F18B4AAC22B64D2B00A5E" ,
"priority" : 1
},
"properties" :{
"service" : "helloService"
},
"data" :{
}
}
} openmessaging使用样例P2PPublish/SubscribeBroadcastHighwayStreamingFilterRoutingRPCP2P
点对点发送,最简单,从生产者到消费者,队列只有一个分区Publish/subscribe
发布,订阅,发送消息到队列有多个分区,分区算法是round-robin 或hash方式,这些分区按照特定方式指派给了订阅这个queue的消费者Broadcast
广播下发送到queue消息会被所有消费者消费。Highway
高速路下,关注消息速度,生产者发送大量不重要的消息到queue,实现的方式是批量处理Streaming
streamingConsumer在这种场景使用,集成streaming和bigdata平台。支持指定queue多个分区消息的处理。Filter
过滤方式,消费者关注特定消息,可以通过filter进行过滤,再放入queue中Replication
复制冗余转发方式,在不同平台上,多区域复制,然后其他区域也可消费消息。RPC
Rpc等同于同步消息,不是传统c2s模式,是c2s2c模式
宝宝肠胀气怎么办?宝宝肚子胀气可能是由生理因素病理因素造成的,没有快速排气的方法,需要明确病因,采取正确喂养腹部按摩敷热水袋药物治疗等方式缓解。1生理因素婴儿消化系统发育不完善,肠道相对较长,当出现
父母过高的期望和鼓励,或许才是压倒胡鑫宇的最后一根稻草普通的家庭,特别是贫寒的家庭,不顾孩子的身体条件,智力条件,盲目的想望子成龙,会害了孩子。特别是那些体谅父母,一心想要报答父母,回馈父母的,善良又孝顺的孩子,一旦觉得自己的努力,不
教育游戏与游戏对比原创作者学乐园创始人关山威游戏孩子篇孩子烦恼发怒孩子烦恼游戏真好玩奥妙且神奇流连又忘返废寝且忘食可是父母急说怕误学习但我真喜欢应该怎么办只好私下玩心惊又胆颤孩子夙愿惊喜孩子夙愿若是
自己做的手工漂亮又实用,简简单单,一会儿就能做出一个自己如果能做漂亮的文具袋,干嘛还要花钱买呢?而且文具袋用料少,制作简单,一会儿就能做出一个。这不马上就要开学了,我找了几个最受欢迎的笔袋(文具袋)视频,朋友们如果要为家里的小朋友做
西游记导演杨洁我满世界给你找美女,你却只盯着猴子看!说起经典,央视的西游记绝对位列其中。作为暑期档必播节目,每次换台调到这部剧,不管怎么都会停下来看几分钟,即便这里面的剧情已经烂熟于心了。第一部西游记只有短短25集,然而却花了长达6
武林有侠气接档少年歌行,白岳比萧瑟帅,女主一集死两次头条创作挑战赛李宏毅林博洋刘学义敖瑞鹏等主演的武侠剧少年歌行已经大结局了,一共四十集剧情的这部剧令人感觉意犹未尽。虽然说萧瑟最后放弃皇位令人颇为遗憾,不过想想也是很正常的,以萧瑟的
金刚女早年的R级片盘点金刚的女主很漂亮,在影片中,她穿着蓬松的吊带长裙跑来跑去,非常性感,可惜当年只顾着看大猩猩了!影片里所有动物都巨大化的世界非常新奇,完全让人意识不到这部电影竟然3个多小时。当时还纳
上海电力大学召开2023年寒假留校学生新春茶话会瑞虎辞岁,玉兔迎春。1月17日,上海电力大学2023年寒假留校学生新春茶话会举行。学校副校长封金章后勤管理处处长王飞学生处处长陈姗姗继续教育学院常务副院长王志萍研究生工作部副部长陈
回乡见闻舌尖上的春节南北饮食共寄新春愿望点蓝字关注,不迷路作为一个土生土长的北方人,做了南方媳妇后,今年是第二次在南方过年。南方的年味除了有湿冷氤氲的空气外,食物的差异自然也是最明显的。南北方的年夜饭里,充分体现出靠山吃
当年交过公粮的老农民,每月能领400元养老金?是真的吗?财经新势力新春季前段时间,有很多消息称,在上世纪七八十年代的那些曾交过公粮的农民,每月可以领取400元退休金,很多农民信以为真,非常高兴,网友之间也展开了热议,不过说归说,到底有没
玉门新春社火刷屏了!隔着屏幕都觉得好嗨呀!锣鼓齐鸣秧歌欢腾踏着喜庆的鼓点和着欢快的节拍春节期间一场场社火表演将过年的氛围感瞬间拉满街巷内锣鼓阵阵红绸飞舞热闹又红火处处洋溢着浓浓年味轮番上阵拜大年乡镇街道代表队大展身手秧歌舞