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


Queue推送__開發人員指南_消息服務-阿裏雲

用戶使用已創建Queue作為Endpoint對Topic內容進行訂閱;當有消息發布到Topic中時,Topic會通過內部數據通道,將Topic中的消息推送到各個訂閱的Queue中。用戶隻需對訂閱的Queue進行輪詢拉取即可。

使用場景

  1. 訂閱者無需保持在線狀態;
  2. 訂閱者機器部署在VPC環境;
  3. 訂閱者需要通過高並發提高消費速度;

控製台訂閱步驟

1. 創建主題Topic

image

2. 在同一地域創建隊列Queue

image

3. 選中已創建的Topic,點擊“訂閱詳情”進入訂閱管理頁麵

image

4. 點擊“創建訂閱”,選擇推送類型為“隊列”,同時輸入已創建的隊列名(此處並不會對隊列是否存在做檢測,請確保相應的隊列已經創建)

image

Java SDK訂閱代碼示例

client = new DefaultMNSClient(ServiceSettings.getMNSEndpoint(),
            ServiceSettings.getMNSAccessKeyId(),
            ServiceSettings.getMNSAccessKeySecret());

// 創建隊列Queue
String queueName = "JavaSDKTestQueue";
String subName = "JavaTestSub"
QueueMeta queueMeta = new QueueMeta();
queueMeta.setQueueName(queueName);
CloudQueue queue = client.createQueue(queueMeta);
// 創建主題Topic
String topicName = "SampleTopic";
TopicMeta meta = new TopicMeta();
meta.setTopicName(topicName);
topic = client.createTopic(meta);
// 使用隊列作為endpoint進行訂閱
String queueEndpoint = topic.generateQueueEndpoint(queueName);
SubscriptionMeta subMeta = new SubscriptionMeta();
subMeta.setSubscriptionName(subName);
subMeta.setNotifyStrategy(SubscriptionMeta.NotifyStrategy.EXPONENTIAL_DECAY_RETRY);
subMeta.setEndpoint(queueEndpoint);
String subUrl = topic.subscribe(subMeta);

最後更新:2016-11-23 17:16:04

  上一篇:go 郵件推送__開發人員指南_消息服務-阿裏雲
  下一篇:go 大於短信推送__短信推送_開發人員指南_消息服務-阿裏雲