您好,欢迎访问三七文档
信息集成平台消息服务是一种高效、可靠、安全、便捷、可弹性扩展的分布式消息服务。能够帮助应用之间传递数据,。信息集成平台消息服务提供两种功能:队列模型(Queue)和主题模型(Topic)。其中队列模型支持一对一发送和接收消息;主题模型提供pub/sub模型,支持一对多订阅和通知消息。队列模型队列模型保证消息至少会被消费一次,支持多个生产者和消费者并发操作同一个消息队列。消费消息时尽量做到先进先出,但并不保证能按照消息的发送顺序消费消息,如果业务必需先进先出,建议在消息中加入序号信息以便消费消息后进行重新排序。主题模型主题模型支持服务端主动将消息推送给用户,消除用户程序不必要的轮询和资源消耗。主题模型保证通知消息按照指定的策略推送给用户,支持多个消息发布者并发操作同一个主题。主题模式支持一对多广播消息,一条通知消息可以同时被多个订阅者接收和消费。队列模型平台管理员通过CreateQueue接口创建出一个消息队列。生产者、消费者生产者,向信息集成平台消息服务的消息队列发送消息的角色。消费者,从信息集成平台消息服务的消息队列获取消息的角色。主题模型主题所有者开通信息集成平台消息服务服务的Account通过CreateTopic接口创建出一个主题,这个Account就是该主题的所有者,主题所有者拥有该主题的所有操作权限。发布者、订阅者发布者,向信息集成平台消息服务的主题发布消息的角色。订阅者,从信息集成平台消息服务的主题接收消息的角色。Queue队列是消息存储的目的地,队列可以分成普通队列和延时队列两类。如果发送消息时不指定消息延时参数,被发送到普通队列的消息立刻可以被消费,而发送到延时队列需要经过设定的延时时间后才能被消费。QueueURL格式:http://$AccountId.信息集成平台消息服务.Region.aliyuncs.com/queues/$QueueName信息集成平台消息服务.Region.aliyuncs.com:信息集成平台消息服务访问域名,Region是信息集成平台消息服务部署的区域,用户可以根据应用需要选择不同的地域;AccountId:队列所有者的帐号ID;QueueName:队列名称,同一个AccountId在同Region中的队列名不能重名。队列消息用户发送到队列的消息;发送消息时可以指定消息体、消息延迟时长、消息优先级;消息属性MessageId消息编号;(batch)send/receive/peekmessage操作返回该属性;一个队列中每个消息都有唯一的MessageId;消息发送到队列中,信息集成平台消息服务会生成一个MessageId,该编号一旦生成就不会变化,可以用来做数据校队;NextVisibleTime消息下次可被消费的时间,从1970年1月1日00:00:00000开始的毫秒数;(batch)receivemessage和changemessagevisibility操作返回该属性;ReceiptHandle消息临时句柄;(batch)receivemessage和changemessagevisibility操作返回该属性;---------------该句柄用于删除和修改处于Inactive状态的消息,NextVisibleTime之前有效,超过该时间使用句柄信息集成平台消息服务会提示MessageNotExist;消息临时句柄只能使用一次,如果该句柄标识的消息状态发生改变,该句柄就会失效;MessageBody消息正文;(batch)receive/peekmessage操作返回该属性;MessageBodyMD5消息正文的MD5值;(batch)send/receive/peekmessage操作返回该属性;EnqueueTime消息发送到队列的时间,从1970年1月1日00:00:00000开始的毫秒数;(batch)receive/peekmessage操作返回该属性;FirstDequeueTime消息第一次被消费的时间,从1970年1月1日00:00:00000开始的毫秒数;(batch)receive/peekmessage操作返回该属性;如果消息从未被消费过,该属性与EnqueueTime相同;DequeueCount消息总共被消费的次数(即被receive的次数);(batch)receive/peekmessage操作返回该属性;Priority消息的优先级权值,取值范围:1~16,其中1为最高优先级;(batch)receive/peekmessage操作返回该属性;消息类型延时消息--------------这类消息发送到队列后,需要经过DelaySeconds指定的时间后才可被消费;发送(batch)sendmessage请求时指定或者配置队列的DelaySeconds属性;消息状态普通消息被发送到普通队列时,初始状态是Active,当其被取走后在VisibilityTimeout的时间内状态为Inactive,若超过VisibilityTimeout时间后消息还未被删除,消息会重新变成Active状态;如果在VisibilityTimeout时间内被删除,消息状态变为Deleted。普通消息发送到延时队列时,消息初始状态Delayed,经过延时队列的DelaySeconds属性值设定的时间后,消息状态变成Active。延时消息发送到消息队列(普通队列或者延时队列),消息的初始状态为Delayed,经过消息的DelaySeconds属性指定的时间后消息状态变成Active。消息的最长存活时间由创建队列时指定的MessageRetentionPeriod属性值决定,超过此时间后消息状态会变成Expired,将被垃圾回收器回收。消费者只能取到处于Active状态的消息。Topic主题是发布消息的目的地,发布者可以通过PublishMessage接口向主题发布消息。主题属性MaximumMessageSize消息体的最大长度,单位为Byte;取值范围:1024~65536Byte(64KB);该属性用于限制发送到队列的消息体最大长度,超过该长度发布消息将失败;LoggingEnabled是否开启日志管理功能;取值范围:True/False;当该属性为True时,信息集成平台消息服务将收集主题的消息操作日志推送到指定的地方,日志管理请参考详情;CreateTime主题的创建时间,从1970-1-100:00:00到现在的秒值LastModifyTime修改主题属性信息的最近时间,从1970-1-100:00:00到现在的秒值;MessageRetentionPeriod消息在主题中的最长保留时间,单位为秒;从发送到该主题开始经过此参数指定的时间后,不论消息是否被成功推送给用户都将被删除;MessageCount该主题中消息数目;包含已经被推送给用户的消息,不包含过期被回收的消息;TopicURL标识Topic的URL,格式:http://$AccountId.信息集成平台消息服务.Region.aliyuncs.com/topics/$TopicName信息集成平台消息服务.Region.aliyuncs.com:信息集成平台消息服务访问域名,Region是信息集成平台消息服务部署的区域,用户可以根据应用需要选择不同的地域,具体各区域的访问域名可以在控制台通过获取地址操作查看。AccountId:主题所有者的帐号ID,实际调用信息集成平台消息服务的API时请换成实际的帐号ID,查看方法请参考快速入门。TopicName:主题的名称,信息集成平台消息服务使用者在实际调用信息集成平台消息服务的API时替换成实际的主题名称。同一个AccountId在同一个Region中的主题名称不能重名。主题消息用户发布到主题的消息;发布消息时可以指定消息体、消息标签和消息额外属性;主题消息的最长保留时间为1天,超过这个时间,不论消息是否成功推送给用户,都将被垃圾回收器回收;消息属性MessageId消息的编号;---------一个主题中每个消息都有唯一的MessageId;Message消息正文;MessageMD5消息正文的MD5值;MessageTag消息的标签;当发布消息时指定了消息标签,信息集成平台消息服务将只推送消息给接收这类标签消息的订阅;PublishTime消息的发布时间,从1970-1-100:00:00000到消息发布时的毫秒值;SubscriptionSubscription描述一个订阅关系,包括被订阅的主题和接收消息的Endpoint;订阅者通过Subscribe接口创建订阅,信息集成平台消息服务根据订阅的描述给用户推送消息,推送的起点是订阅时Topic中最新的消息;订阅创建成功后,信息集成平台消息服务会向指定的Endpoint推送消息。如果Endpoint不可用,信息集成平台消息服务会按照指定的重试策略进行重试,重试失败后,会丢弃消息;订阅属性Endpoint接收消息的Endpoint;支持类型:HttpEndpoint、QueueEndpoint和MailEndpoint;FilterTag过滤消息的标签;类型:字符串-------------指定了该属性后,信息集成平台消息服务仅推送消息标签与该属性一致的消息到对应的Endpoint;NotifyStrategy消息推送出现错误时的重试策略;取值范围:BACKOFF_RETRY/EXPONENTIAL_DECAY_RETRY;当推送消息失败时,信息集成平台消息服务将按照该属性指定的重试策略进行重试,超过重试策略的次数后,信息集成平台消息服务将丢弃这条消息,继续推送下一条消息;具体的重试策略请参考NotifyStrategy;NotifyContentFormat推送给Endpoint的消息格式;取值范围:XML/SIMPLIFIED;具体推送消息的格式请参考NotifyContentFormat;CreateTime订阅的创建时间,从1970-1-100:00:00到现在的秒值;LastModifyTime修改订阅属性信息的最近时间,从1970-1-100:00:00到现在的秒值SubscriptionURL标识Subscription的URL格式:http://$AccountId.信息集成平台消息服务.Region.aliyuncs.com/topic/$TopicName/subscriptions/$SubscriptionName信息集成平台消息服务.Region.aliyuncs.com:信息集成平台消息服务访问域名,Region是信息集成平台消息服务部署的区域,用户可以根据应用需要选择不同的区域,具体各区域的访问域名可以在控制台通过获取地址操作查看;AccountId:表示主题所有者的帐号ID,实际调用信息集成平台消息服务的API时请替换成实际的帐号ID;TopicName:表示主题的名称,实际调用信息集成平台消息服务的API时请替换成实际的主题名称;SubscriptionName:表示Subscription的名称,实际调用信息集成平台消息服务的API时请替换成实际Subscription的名称。同一个订阅者订阅相同的主题时,SubscriptionName不能重复。通信协议支持通过HTTP协议进行请求通信。请求方法使用HTTP的PUT、POST、GET、DELETE等HTTPMethod发送不同的请求,详情参考队列接口规范和主题接口规范章节。
本文标题:ESB访问规范
链接地址:https://www.777doc.com/doc-2911786 .html