玩轉MQTT-阿裏雲之MQTT使用
引言
前兩年買一款物聯網控制板,當時把玩了一陣之後,驗證了下串口通訊、MODBUS協議實現、TCP/UDP/DNS/MQTT通訊(基於GPRS)後,就放到角落裏吃灰了呵。
最近收到阿裏雲的優惠推送,說是什麽每月百條次使用免費,於是想起了這套吃灰裝備,是不是也高大上一把,體驗下支持高可用、高並發的阿裏雲,玩下阿裏雲的MQTT服務呢?
說幹就幹。
阿裏雲服務
許多人對雲服務一知半解,以為知道個ECS/雲主機,就是雲服務的全部了。其實,雲服務有許多內容,消息中間件服務也是其中一種。
本次我們要使用的MQTT消息服務也是消息中間件的一種。
筆者所知道的消息中間件
ActiveMQ
Aopllo
RabbitMQ
Kafka
RocketMQ
消息隊列在實際應用中常用的使用場景。異步處理,應用解耦,流量削鋒和消息通訊四個場景,具體內容園中相關文章不少,筆者不再此獻醜了呵。
本文主要對具體實戰應用進行說明。
.登錄阿裏雲
首先,我們打開阿裏雲。
https://www.aliyun.com/
右上角,登錄
支持多種方式登錄
可用阿裏系旗下的淘寶、支付寶、釘釘等帳號登錄而無需註冊呵,真是方便啊
不過當中,還夾了一個微博登錄,不知是什麽個情況,本人不用這個,不管也罷。
選擇淘寶登錄
消息隊列MQ
登錄阿裏雲後,找到管理控制臺,在如下位置,找到MQ相關服務
阿裏雲中的產品太多,筆者摸索了半天才找到的呵。
開通RocketMQ服務
選擇消息隊列MQ
單擊消息隊列 RocketMQ 進入消息隊列 RocketMQ 的產品主頁。
在消息隊列 RocketMQ 的產品主頁上,單擊立即開通進入消息隊列 RocketMQ 服務開通頁面,根據提示完成開通服務。
創建資源
資源類型說明
一個新的應用接入消息隊列 RocketMQ 需要先創建相關的消息隊列 RocketMQ 資源,包括:
- 實例:用於消息隊列 RocketMQ 服務的虛擬機資源,會存儲消息主題(Topic)和客戶端 ID(Group ID)信息。
- 消息主題(Topic):
- Group ID:用於消息消費者(或生產者)的標識
- 阿裏雲 AccessKey:用於收發消息時進行賬戶鑒權
MQ服務管理界面如下
微消息隊列MQTT
在阿裏雲中,MQTT被稱為微消息隊列,大家入鄉為俗吧。
點擊 消息隊列 RocketMQ ,出現下拉列表
哦,原來MQTT服務你躲在這裏啊(產品中直接搜索MQTT是找不到的哦)
各位同學,看到的界面可能與我有所不同,可能在看到上述界面之間,未開通相關服務的同學,可能會看到一個開通相關服務的界面,點擊開通就行了呵。(已開通的話,相關界面是不會再顯示的呵)
僅開通服務,不創建相關資源,是不會收費的呵。
創建MQTT實例
創建MQTT實例
彈出購買界面
我們選擇最右側的按量付費套餐。
購買後,系統自動生成一個MQTT服務實例
系統顯示我們已成功創建了一個實例
同時,系統給出了第二步的向導:
消息存儲配置
阿裏雲中的MQTT服務沒有提供存儲功能,需要一個MQ服務來提供支持。
控制臺給出的選項中,Kafka和AMQP目前均不可用
只有RocketMQ可選。
好吧,這也算是選擇的話(我有得選嗎?)
我們選擇新建共享實例,我們以共享單車應用為例,取一個 bike 的實例名
確認,系統生成RocketMQ實例
系統完成MQTT實例的配置,並給出了公網接入點地址。
創建Topic
阿裏雲的MQTT主題訂閱要求必需創建一個頂級的主題資源
我們創建一個項級Topic
我們選擇普通消息,其他的消息類型,大家可自行查看相應的說明。
創建組ID
RAM資源訪問控制
在服務創建過程中,阿裏雲系統會提示我們需要配置RAM管理
創建用戶
我們創建一個名為bike的用戶
點擊確定,系統提示需要手機驗證,我們獲取驗證碼後填入並確定
系統生成用戶信息,生成了用戶名和密碼
大家切記,一定要點制復制,將用戶信息進行妥善保存,否則,你會發現,前面一頓操作猛如虎,沒有AccessKeySecret白瞎杵。
一旦關閉此頁面,AccessKeySecret是無法再找回的。
不過,系統中雖然不能查看AccessKeySecret,但是還是允許為用戶創建新的AccessKey和AccessKeySecret,萬一AccessKeySecret丟失,只有新創建了。
授權
創建用戶後,需要對用戶進行授權
對用戶添加權限
MQTT服務驗證
是不是到這裏MQTT服務就可以用了呢?
等等,好象我們還忘了什麽?
哦,MQTT訪問是需要用戶/密碼的哦,當然,有些服務器是允許空用戶的。不過阿裏雲的是不允許這樣的。
待續>>>
玩轉MQTT-阿裏雲之MQTT使用