閱讀997 返回首頁    go 阿裏雲 go 技術社區[雲棲]


Queue__基本概念_API使用手冊_消息服務-阿裏雲

隊列是消息存儲的目的地,隊列可以分成普通隊列和延時隊列兩類。
如果發送消息時不指定消息延時參數,被發送到普通隊列的消息立刻可以被消費,而發送到延時隊列需要經過設定的延時時間後才能被消費。

隊列屬性

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

  • 格式:https://$AccountId.mns.<Region>.aliyuncs.com/queues/$QueueName
  • mns.<Region>.aliyuncs.com: MNS 訪問域名, Region 是 MNS 部署的區域,用戶可以根據應用需要選擇不同的地域;
  • AccountId: 隊列所有者的帳號 ID;
  • QueueName: 隊列名稱,同一個AccountId在同 Region 中的隊列名不能重名。

最後更新:2016-11-23 16:03:57

  上一篇:go Account__基本概念_API使用手冊_消息服務-阿裏雲
  下一篇:go QueueMessage__基本概念_API使用手冊_消息服務-阿裏雲