全部产品
Search
文档中心

消息服务:Queue

更新时间:Nov 09, 2023

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

  • QueueURL

    • 格式:http://$AccountId.mns.<Region>.aliyuncs.com/queues/$QueueName

    • mns.<Region>.aliyuncs.com:MNS访问域名,Region是MNS部署的地域,您可以根据应用需要选择不同的地域。

    • AccountId:队列所有者的账号ID。

    • QueueName:队列名称,同一个AccountId在同地域中的队列名不能重名。

队列属性

  • DelaySeconds

    • 消息延迟时间,单位:秒。

    • 取值范围:0 ~ 604800秒(7天)。

    • 当该属性大于0时,发送到队列的所有消息是延迟消息,经过该属性指定的时间后变为可消费消息。

    • 如果发送消息请求指定了DelaySeconds,以请求指定的DelaySeconds为准。

  • MaximumMessageSize

    • 消息体最大长度,单位:Byte。

    • 取值范围:1024 ~ 65536 Byte (64 KB)。

    • 该属性用于限制发送到队列的消息体的最大长度,超过该长度发送消息失败。

  • MessageRetentionPeriod

    • 消息最长保留时间,单位:秒。

    • 取值范围:60 ~ 604800秒(7天)。

    • 发送到队列的消息最长保留该时长,超过指定时间,无论消息是否被消费都将被删除。

  • 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状态的消息总数,为近似值。