本 demo 主要目的在于幫助初次接觸 aliware mq 的工程師,一步一步搭建 mq 測試工程。demo 程式以 java 為例,包括普通消息、事務消息、定時消息的測試代碼,以及相關 spring 的配置示例。
本文以 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 公鑰粘貼在此處
通過 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 檔案夾。
選擇 import 類型。
預設單擊 next,直到導入完成。demo 工程需要加載依賴的 jar 包,是以導入過程需要等待2-3分鐘。
請在 mq 控制台建立 topic、釋出組 producer id(pid)、訂閱組 consumer id (cid)。公網測試 region 免 topic 占用費,前2000萬次調用免費。
單擊免費開通,進入管理控制台。
選擇公網測試 域(預設),單擊右側釋出 topic,輸入 topic 名稱(盡量個性化避免重複),單擊确定。
建立釋出組 pid。在 topic 管理清單中單擊申請釋出。
建立訂閱組 cid。在 topic 管理清單中單擊申請訂閱。
需要配置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。
配置 producer.xml。
配置 consumer.xml。
運作 simplemqproducer 類發送消息。
登入 mq 控制台,在左側菜單欄選擇消息查詢>topic 查詢,選擇 topic 名稱進行查詢。可以看見消息已經發送至 topic。
運作 simplemqconsumer 類接收消息。可以看到消息被接收列印的日志。因為有初始化,是以需等待幾秒,在生産環境中不會經常初始化。
在訂閱管理>消費者狀态中可以看到,啟動的消費端已經線上,并且訂閱關系一緻。
運作 mqproducer4spring 類發送消息。
運作 mqconsumer4spring 類接收消息。
檢視結果跟上面過程類似。
運作 simpletransactionproducer 類發送消息。
運作 mqtimerproducer 類發送消息。延時3秒後投遞。