服務端可以直接訂閱產品下多種類型的訊息,例如裝置上報訊息、裝置狀態變化通知、裝置生命週期變更、網關發現子裝置上報、裝置拓撲關係變更等。佈建服務端訂閱後,物聯網平台會將產品下所有裝置中已訂閱類型的訊息,轉寄至您的伺服器。
使用情境
服務端訂閱可應用於以下情境:
服務端單純的接收裝置資料的情境,並且適用於高並發情境。
服務端接收產品下全部裝置的訂閱資料。
如果您有多個伺服器消費同一個產品的訂閱訊息,訊息會隨機轉寄至某個伺服器。
服務端訂閱與規則引擎資料流轉的使用情境和能力對比,請參見資料流轉方案對比。
使用AMQP服務端訂閱訊息
AMQP(Advanced Message Queuing Protocol)即進階訊息佇列協議。您配置AMQP服務端訂閱後,物聯網平台會將產品下所有已訂閱類型的訊息,通過AMQP通道推送至您的伺服器。
AMQP服務端訂閱訊息流程轉流程如下圖所示。
AMQP服務端訂閱優勢:
支援多消費組。同一個帳號,可以在開發環境下使消費組A訂閱產品A,同時在正式環境下使消費組B訂閱產品B。
說明如果多個不同消費組同時訂閱產品B,則不同消費組可同時收到來自裝置B的相同資訊。
方便排查問題。支援查看用戶端狀態、查看堆積和消費速率。
線性擴充。在消費者能力足夠,即用戶端機器足夠的情況下,可輕鬆線性擴充推送能力。
即時訊息優先推送,訊息堆積不會影響服務。
裝置即時訊息直接推送,推送限流或失敗時進入堆積隊列,堆積態訊息採用降級模式,不會影響即時推送能力。
即使消費者的用戶端宕機,或因消費能力不足堆積了訊息,消費端恢複後,裝置產生的訊息也可以和堆積訊息並行發送,使裝置優先恢複即時推送訊息狀態。
使用AMQP服務端訂閱,需先在控制台配置AMQP服務端訂閱,請參見配置AMQP服務端訂閱。然後開發AMQP用戶端,接入物聯網平台,接收訊息,請參見AMQP用戶端接入說明。
使用AMQP服務端訂閱,物聯網平台會根據推送的訊息數量進行計費。訊息計費方式,請參見訊息通訊計費。
使用MNS服務端訂閱訊息
物聯網平台將訂閱的訊息推送到Simple Message Queue (formerly MNS) (SMQ)的隊列中,您的伺服器MNS用戶端通過監聽MNS隊列接收裝置訊息。
MNS服務端訂閱訊息流程轉流程如下圖所示。
使用Message Service訂閱裝置訊息的具體配置方法,請參見使用Message Service(MNS)訂閱裝置訊息。
Message Service會對建立的隊列和接收的訊息收取費用。Message Service計費和使用,請參見Message Service文檔。