天天看點

十分鐘快速玩轉 Aliware MQ-阿裡雲消息隊列Demo工程實踐

本 demo 主要目的在于幫助初次接觸 aliware mq 的工程師,一步一步搭建 mq 測試工程。demo 程式以 java 為例,包括普通消息、事務消息、定時消息的測試代碼,以及相關 spring 的配置示例。

十分鐘快速玩轉 Aliware MQ-阿裡雲消息隊列Demo工程實踐

本文以 idea 為例。您可以使用 idea 或者 eclipse。

執行 idea 安裝包,安裝 idea。

單擊 discover server。

單擊最下方激活按鈕,激活成功。

請按以下步驟操作:

生成 github 秘鑰,在本機指令行裡輸入 ssh-keygen -t rsa -c "[email protected]"(您注冊 github 的郵箱),使用預設值回車2次。

執行以下指令:

cd ~/.ssh/

cat id_rsa.pub

把 cat 的内容,即 github 公鑰整體複制下來。

登入 github 官網,單擊 settings,在左側菜單選擇 ssh and gpg keys。

單擊頁面右上角 new ssh key,輸入相關資訊後單擊 add ssh key 儲存。

title: 可以自定義填寫

key: 将剛才複制的 github 公鑰粘貼在此處

十分鐘快速玩轉 Aliware MQ-阿裡雲消息隊列Demo工程實踐

通過 git 下載下傳 mq demo 工程到本地。執行以下指令:

cd xxxxx(此處為儲存工程的本地路徑)

git clone [email protected]:lollipopjin/aliware-mq-demo.git

下載下傳完成後即可看到本地新增了 aliware-mq-demo 檔案夾,此檔案夾裡面為 demo工程。

demo 工程設定包含以下幾個步驟。

注意:如果本地未安裝 jdk,請先下載下傳安裝。

輕按兩下 idea 圖示打開 idea。

選擇 import project,選擇 mq demo 檔案夾。

十分鐘快速玩轉 Aliware MQ-阿裡雲消息隊列Demo工程實踐

選擇 import 類型。

十分鐘快速玩轉 Aliware MQ-阿裡雲消息隊列Demo工程實踐

預設單擊 next,直到導入完成。demo 工程需要加載依賴的 jar 包,是以導入過程需要等待2-3分鐘。

請在 mq 控制台建立 topic、釋出組 producer id(pid)、訂閱組 consumer id (cid)。公網測試 region 免 topic 占用費,前2000萬次調用免費。

單擊免費開通,進入管理控制台。

選擇公網測試 域(預設),單擊右側釋出 topic,輸入 topic 名稱(盡量個性化避免重複),單擊确定。

十分鐘快速玩轉 Aliware MQ-阿裡雲消息隊列Demo工程實踐

建立釋出組 pid。在 topic 管理清單中單擊申請釋出。

十分鐘快速玩轉 Aliware MQ-阿裡雲消息隊列Demo工程實踐

建立訂閱組 cid。在 topic 管理清單中單擊申請訂閱。

十分鐘快速玩轉 Aliware MQ-阿裡雲消息隊列Demo工程實踐

需要配置3個檔案:mqconfig 類,producer.xml,consumer.xml。

配置 mqconfig 類。

public static final string topic = "剛才建立的topic";

public static final string producer_id = "剛才建立的pid";

public static final string consumer_id = "剛才建立的cid";

public static final string access_key = "您的阿裡雲賬号的ak";

public static final string secret_key = "您的阿裡雲賬号的sk";

ak sk 擷取:請登入阿裡雲賬号,點選 accesskeys。ak 即 access key id,sk 即 access key secret。

說明:主賬号建立 topic 後,如果在 mq 控制台的 topic 管理清單裡對子賬号進行了授權,那麼也可以使用 ram 子賬号的 ak sk。

十分鐘快速玩轉 Aliware MQ-阿裡雲消息隊列Demo工程實踐

配置 producer.xml。

十分鐘快速玩轉 Aliware MQ-阿裡雲消息隊列Demo工程實踐

配置 consumer.xml。

十分鐘快速玩轉 Aliware MQ-阿裡雲消息隊列Demo工程實踐

運作 simplemqproducer 類發送消息。

登入 mq 控制台,在左側菜單欄選擇消息查詢>topic 查詢,選擇 topic 名稱進行查詢。可以看見消息已經發送至 topic。

十分鐘快速玩轉 Aliware MQ-阿裡雲消息隊列Demo工程實踐

運作 simplemqconsumer 類接收消息。可以看到消息被接收列印的日志。因為有初始化,是以需等待幾秒,在生産環境中不會經常初始化。

十分鐘快速玩轉 Aliware MQ-阿裡雲消息隊列Demo工程實踐

在訂閱管理>消費者狀态中可以看到,啟動的消費端已經線上,并且訂閱關系一緻。

十分鐘快速玩轉 Aliware MQ-阿裡雲消息隊列Demo工程實踐

運作 mqproducer4spring 類發送消息。

運作 mqconsumer4spring 類接收消息。

檢視結果跟上面過程類似。

運作 simpletransactionproducer 類發送消息。

運作 mqtimerproducer 類發送消息。延時3秒後投遞。