队列模型名词解释
队列是消息存储的目的地,队列可以分成普通队列和延时队列两类。消息包含数据和属性,可以分成普通消息和延时消息,在一个队列中能唯一标识一个消息的有 MessageId 和 ReceiptHandle 两种。
Account
即用户的阿里云帐号ID。
队列所有者
开通 MNS 服务的 Account 通过 CreateQueue 接口创建出一个消息队列,这个 Account 就是该队列的所有者,队列所有者拥有此队列的所有操作权限。队列所有者对应的 Account ID 在阿里云官网可以查看。
生产者、消费者
生产者,向 MNS 的消息队列发送消息的角色。消费者,从 MNS 的消息队列获取消息的角色。
普通队列
如果发送消息时不指定消息延时参数,消息发送到普通队列后可立即被消费。
延时队列
如果发送消息时不指定消息延时参数,发送到延时队列的消息需要经过一定的时间后才能被取到。用户可以通过 CreateQueue 和 SetQueueAttribute 指定队列的延时时长。
Endpoint
MNS的访问域名地址, 格式如下:http://$AccountId.mns.$Region.aliyuncs.com/
mns..aliyuncs.com:
Region 是 MNS服务部署的区域,用户可以根据应用需要选择不同的地域.
AccountId: 队列所有者的帐号 ID,调用API请求时需替换成实际的帐号ID.
普通消息、延时消息
普通消息是指被发送到队列马上可以被取到的消息;
延时消息是指消息发送到队列后需要经过一定的时间后才能被取到的消息,延时时长由 DelaySeconds 属性定(请参考 SendMessage 相关属性定)。
消息ID(MessageID)
MessageId 用来标识在队列中的一个消息,在一个队列中每个消息都有唯一的 MessageId, 但在不同队列之间并不唯一。当消息发送到 MNS 的队列, MNS 会生成一个 MessageId,此 ID 一旦产生就不会改变, 并在请求响应中返回,用户主要可以使用此 MessageId 来做数据校对,但是删除消息必须使用 ReceiptHandle。
临时句柄(ReceiptHandle)
ReceiptHandle 是由 MNS 根据当时获取消息的行为产生的临时消息标识,这一点不同于 MessageId。 当要删除已消费的消息或者改变其VisiblityTimeout 属性值,需要用 ReceiptHandle 指定已消费过的消息。 ReceiptHandle 只能被使用一次, 如果 ReceiptHandle 标识的消息状态改变其就会失效,消费者只有通过获取消息后重新获取 ReceiptHandle
才能进行上述操作。
消息状态(Message Status)
普通消息被发送到普通消息队列时, 初始状态是 Active,当其被取走后在 VisibilityTimeout 的时间内状态为 Inactive,若超过 VisibilityTimeout 时间后消息还未被删除,消息会重新变成 Active 状态;如果在VisibilityTimeout 时间内被删除,消息状态为 Deleted。
普通消息发送到延时队列时,消息初始状态 Delayed,经过延时队列的 DelaySeconds 属性值设定的时间后,消息状态变成 Active。
延时消息发送到队列(普通队列或者延时队列),消息的初始状态为 Delayed,经过消息的 DelaySeconds 属性指定的时间后消息状态变成 Active。
消息的最长存活时间由创建队列时指定的 MessageRetentionPeriod 属性值决定, 超过此时间后消息状态会变成 Expired,将被垃圾回收器回收。
消费者只能取到处于 Active 状态的消息。
主题订阅名词解释
发布/订阅模型中的主题,是发布消息的目标和存储地址。
Account
即用户的阿里云帐号ID。
发布者(Publisher)
消息发布者,往主题发送消息的用户,也可以认为是消息是生产者。
订阅者(Subsciber)
消息订阅者,从主题接收消息的用户,主题所有者默认拥有其主题的订阅权限。
订阅(Subscription)
订阅关系,消息订阅者只有和主题建立订阅关系才可以接收发布者往该主题发布的消息。
推送地址(Endpoint)
消息接收端,订阅者用于接收主题消息的地址,例如:http地址,邮箱地址,短信手机号等。
TopicURL
标识http://$AccountId.mns.$Region.aliyuncs.com/topics/$TopicName$AccountId
是用户的帐号 ID$Region 是MNS提供服务的地域,比如:北京、杭州、青岛等$TopicName 是主题的名称
Message
MessageId 用来标识在主题中的一个消息,在一个主题中每个消息都有唯一的 MessageId, 但在不同主题之间并不唯一。消息发布到 Topic 后,最长存活时间是 1天,过期后消息会变成 Expired 状态,将被垃圾回收器回收。
短信相关名词解释
短信模板
短信模板,即具体发送的短信内容。
说明:短信模板可以支持验证码、短信通知、推广短信三种模式。验证码和短信通知,通过变量替换实现个性短信定制。推广短信不支持在模板中添加变量。短信模板需要审核通过后才可以使用。
示例:短信示例:【阿里云】 验证码${number},您正进行支付宝的身份验证,打死不告诉别人!短信签名:阿里云短信模板: 验证码${number},您正进行支付宝的身份验证,打死不告诉别人!
短信签名
根据用户身份来创建符合自身属性的签名信息。
企业用户需要上传相关企业资质证明,个人用户需要上传证明个人身份的证明。短信签名需要审核通过后才可以使用。
示例:短信示例:【阿里云】 验证码${number},您正进行支付宝的身份验证,打死不告诉别人! 短信签名:阿里云短信模板: 验证码${number},您正进行支付宝的身份验证,打死不告诉别人!
状态
短信签名和短信模板提交审核后,会显示具体的状态。
短信签名状态包括:审核中、审核未通过、审核通过;
审核中:当前已提交了短信签名,正在排队等待审核。1-2个工作日会审核完毕。
审核未通过:由于某些原因,签名审核未能通过。可以通过控制台“签名管理”来查看具体审核未通过的原因。
审核通过:已通过了审核,短信签名和短信模板都通过审核时,就可以通过接口调取开始发送短信。
短信模板状态包括:审核中、审核未通过、审核通过;
审核中:当前已提交了短信模板,正在排队等待审核。1-2个工作日会审核完毕。
审核未通过:由于某些原因,模板审核未能通过。可以通过控制台“模板管理”来查看具体审核未通过的原因。
审核通过:已通过了审核,短信签名和短信模板都通过审核时,就可以通过接口调取开始发送短信。
更多有关阿里云消息服务的内容:
阿里云消息服务使用教程
(阿里云消息服务(Message Service,原MQS)是阿里云商用的消息中间件服务。与传统的消息中间件不同,消息服务一开始就是基于阿里云自主研发的飞天分布式系统来设计和实现,具有大规模,高可靠、高并发访问和超强消息堆积能力的特点。消息服务API采用HTTP RESTful标准,接入方便,跨网络能力强;已全面接入资源访问控制服务(RAM)、专有网络(VPC),支持各种安全访问控制;接入云监控,提供完善的监控及报警机制。消息服务提供丰富的SDK、解决方案、最佳实践和7x24小时的技术支持,帮助应用开发者在应用组件之间自由地传递数据和构建松耦合、分布式、高可用系统。
消息服务同时具备发送短信的能力,支持快速发送短信验证码、短信通知、推广短信。完美支撑双11期间的2亿用户发送6亿条短信。三网合一专属通道,与工信部携号转网平台实时互联。电信级运维保证,实时监控自动切换,到达率高达99%。)
阿里云大学官网(阿里云大学 - 官方网站,云生态下的创新人才工场)