开发者社区> 问答> 正文

消息服务的Queue什么用处?


队列是消息存储的目的地,队列可以分成普通队列和延时队列两类。如果发送消息时不指定消息延时参数,被发送到普通队列的消息立刻可以被消费,而发送到延时队列需要经过设定的延时时间后才能被消费。

队列属性


DelaySeconds
  • 消息延迟时间,单位为秒;
  • 取值范围:0 ~ 604800秒(7天);
  • 当该属性大于0时,发送到队列的所有消息是延迟消息,经过该属性指定的秒数后变为可消费消息;
  • 如果发送消息请求指定了DelaySeconds,以请求指定的DelaySeconds为准;

MaximumMessageSize
  • 消息体最大长度,单位为Byte;
  • 取值范围:1024 ~ 65536Byte(64KB);
  • 该属性用于限制发送到队列的消息体最大长度,超过该长度发送消息失败;

MessageRetentionPeriod
  • 消息最长保留时间,单位为秒;
  • 取值范围:60 ~ 1296000秒(15天);
  • 发送到队列的消息最长保留该时长,超过指定时间,无论消息是否被消费都将被删除;

VisibilityTimeout
  • 消息被receive后的隐藏时长,单位为秒;
  • 取值范围:1 ~ 43200秒(12小时);
  • 消息被receive后,在该属性指定的这段时间内消息处于隐藏状态,在这段时间内,可以删除消息或者修改消息隐藏时长;超过这段时间,消息可以再次被receive;

PollingWaitSeconds
  • (batch)receive message请求最长等待时间,单位为秒;
  • 取值范围:0 ~ 30秒;
  • 当队列中没有消息时,(batch)receive message请求将挂在 MNS 服务器端;在该属性指定的时间范围内,如果有消息发送到队列中,立即返回消息给用户;如果超过该时间,仍然没有消息,返回MessageNotExist;
  • 如果(batch)receive message请求指定了wait seconds,以请求指定的时间为准;

LoggingEnabled
  • 是否开启日志管理功能;
  • 取值范围:True/False;
  • 当该属性为True时,MNS 将收集队列的消息操作日志推送到指定的地方,日志管理请参考详情

CreateTime
  • 队列创建时间,从1970-1-1 00:00:00 到现在的秒值;

LastModifyTime
  • 修改队列属性信息最近时间,从1970-1-1 00:00:00 到现在的秒值;

ActiveMessages
  • 队列中处于 Active 状态的消息总数,为近似值;

InactiveMessages
  • 队列中处于 Inactive 状态的消息总数,为近似值;

DelayMessages
  • 队列中处于 Delayed 状态的消息总数,为近似值;


QueueURL

  • 格式:http://$AccountId.mns.<Region>.aliyuncs.com/queues/$QueueName
  • mns.<Region>.aliyuncs.com: MNS 访问域名, Region 是 MNS 部署的区域,用户可以根据应用需要选择不同的地域;
  • AccountId: 队列所有者的帐号 ID;
  • QueueName: 队列名称,同一个AccountId在同 Region 中的队列名不能重名。

展开
收起
轩墨 2017-10-24 15:57:53 2080 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
使命必达 —— 钉钉企业级 消息服务的机遇与挑战 立即下载
消息服务在Serverless中的应用 立即下载
使命必达—钉钉企业级消息服务的机遇与挑战 立即下载