實例遷移的最佳實踐
物聯(lián)網(wǎng)平臺提供實例遷移功能,可助您將舊版公共實例下產(chǎn)品、設(shè)備和規(guī)則引擎數(shù)據(jù)遷移到企業(yè)版實例中使用。本文以某共享服務(wù)企業(yè)為例,介紹實例遷移的業(yè)務(wù)改造和遷移方案。
背景信息
A公司的用戶共享服務(wù)平臺,采用阿里云物聯(lián)網(wǎng)提供的設(shè)備管理能力,聚焦智慧園區(qū)、智慧校園等場景提供共享洗衣機、烘干機、按摩椅等共享服務(wù)。
物聯(lián)網(wǎng)平臺提供的企業(yè)版實例服務(wù),與舊版公共實例服務(wù)相比,功能更豐富、擴展性更好、性能更穩(wěn)定,更適合用戶的業(yè)務(wù)模式。實例對比詳細說明,請參見公共實例與企業(yè)版實例區(qū)別。
采用不同類型的企業(yè)版實例,可區(qū)分不同用戶交付的共享服務(wù)平臺項目,實現(xiàn)資源隔離,使共享服務(wù)平臺更穩(wěn)定,同時降低項目評估成本。企業(yè)版實例類型的詳細說明,請參見企業(yè)版實例類型說明。
由于物聯(lián)網(wǎng)平臺是在舊版公共實例之后提供的企業(yè)版實例服務(wù),存量設(shè)備是在舊版公共實例下運行的。從資源隔離、穩(wěn)定性和項目成本考慮,可將設(shè)備相關(guān)數(shù)據(jù)從公共實例遷移到企業(yè)版實例中使用。
業(yè)務(wù)場景介紹
序號 | 說明 |
---|---|
1~1.2 | 將共享設(shè)備聯(lián)網(wǎng)接入阿里云物聯(lián)網(wǎng)平臺,然后上報數(shù)據(jù)。 |
您的應(yīng)用通過物聯(lián)網(wǎng)平臺的AMQP訂閱或數(shù)據(jù)流轉(zhuǎn),接收設(shè)備上報的數(shù)據(jù)、狀態(tài)等消息。 | |
您的數(shù)據(jù)庫實時存儲已訂閱或流轉(zhuǎn)的設(shè)備數(shù)據(jù)。 | |
2~2.2 | 消費者通過共享服務(wù)平臺提供的App掃碼認證授權(quán)后,可查看共享設(shè)備狀態(tài),然后通過App下發(fā)指令,控制共享設(shè)備提供服務(wù)。 說明 鑒權(quán)成功后,App連接到共享服務(wù)平臺,開始計費。 |
您的應(yīng)用接收到消費者下發(fā)的指令,調(diào)用阿里云物聯(lián)網(wǎng)平臺提供的設(shè)備控制服務(wù),控制設(shè)備開始工作。 | |
設(shè)備運行過程中和服務(wù)完成后,均上報設(shè)備狀態(tài),并通過數(shù)據(jù)流轉(zhuǎn)功能同步給您的應(yīng)用,存儲在數(shù)據(jù)庫中。服務(wù)完成后,共享服務(wù)平臺會推送PUSH消息給App,提示消費者服務(wù)結(jié)束和計費等信息。 |
遷移方案
實例遷移的整體流程說明,請參見使用前必讀。根據(jù)遷移流程說明,您需對共享設(shè)備相關(guān)業(yè)務(wù)進行評估,然后制定遷移方案。
系統(tǒng)改造
針對業(yè)務(wù)場景評估后,以下業(yè)務(wù)場景配置需要改造,以保證設(shè)備遷移后正常通信。
業(yè)務(wù)項 | 改造方案 | 相關(guān)文檔 |
---|---|---|
AMQP服務(wù)端訂閱 | 對于AMQP客戶端接入的SDK,需要復(fù)制新的企業(yè)版實例ID和接入域名,配置新的AMQP客戶端,然后在灰度遷移時,復(fù)制更新消費組ID,啟動新的AMQP客戶端。 您需啟動兩個AMQP客戶端,保證公共實例和企業(yè)版實例同時存在AMQP客戶端接收數(shù)據(jù),防止數(shù)據(jù)丟失。 | |
云產(chǎn)品流轉(zhuǎn) | 在公共實例下,配置流轉(zhuǎn)數(shù)據(jù):
| |
云端API調(diào)用 | 您需自行開發(fā)應(yīng)用,在調(diào)用云端接口時,先查詢數(shù)據(jù)庫表中實例ID信息(企業(yè)版實例ID),然后設(shè)置接口請求參數(shù)IotInstanceId為該企業(yè)版實例ID,最后發(fā)起接口調(diào)用。 |
實例遷移
完成系統(tǒng)改造后,應(yīng)用發(fā)布上線,即可通過物聯(lián)網(wǎng)平臺的實例遷移功能遷移公共實例下共享設(shè)備,如下圖所示。
序號 | 操作 | 說明 |
---|---|---|
1~1.2 | 調(diào)試公共實例下待遷移共享設(shè)備。 | 消費者通過App使用共享服務(wù)平臺提供的設(shè)備共享服務(wù)時,應(yīng)用系統(tǒng)查詢設(shè)備信息仍在公共實例中。 此時,調(diào)用服務(wù)相關(guān)接口,無需傳入實例ID,即可通過阿里云網(wǎng)關(guān)使用物聯(lián)網(wǎng)平臺服務(wù),控制待遷移設(shè)備。 |
2~2.5 | 開始實例遷移: | 在物聯(lián)網(wǎng)平臺控制臺創(chuàng)建并發(fā)起實例遷移任務(wù),進行灰度遷移:
|
3 | 在物聯(lián)網(wǎng)平臺控制臺發(fā)起全量遷移任務(wù):將公共實例下指定產(chǎn)品下全量設(shè)備遷移到企業(yè)版實例中。設(shè)備遷移流程與灰度設(shè)備遷移流程相同。 說明 全量遷移設(shè)備不再包含已灰度遷移的設(shè)備。 | |
4~4.2 | 驗證企業(yè)版實例下已遷移共享設(shè)備。 | 消費者對設(shè)備所屬實例不感知,仍通過App使用共享服務(wù)平臺提供的設(shè)備共享服務(wù),應(yīng)用系統(tǒng)查詢設(shè)備信息在企業(yè)版實例中。 此時,調(diào)用服務(wù)相關(guān)接口,必須傳入實例ID,才可通過阿里云網(wǎng)關(guān)使用物聯(lián)網(wǎng)平臺服務(wù),控制已遷移設(shè)備。 說明 設(shè)備全量遷移完成,驗證業(yè)務(wù)結(jié)果正確,表示實例遷移完成且成功。 若驗證業(yè)務(wù)有問題,可通過回滾功能,將設(shè)備從企業(yè)版實例中遷移到公共實例,其他數(shù)據(jù)保持不變。具體內(nèi)容,請參見可選:回滾遷移任務(wù)。 |