1. 程式人生 > >玩轉MQTT-阿裏雲之MQTT使用

玩轉MQTT-阿裏雲之MQTT使用

image ron p s img enter 實例 圖片 ref 中間件

引言

前兩年買一款物聯網控制板,當時把玩了一陣之後,驗證了下串口通訊、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):
    在消息隊列 RocketMQ 的消息系統中,消息生產者將消息發送到某個指定的 Topic ,而消息消費者則通過訂閱該指定的 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使用