文章目錄
透過 container 啟動 Pulsar Manager
Message Queue 在正式服務上運行時大部份不會啟用 GUI,甚至像 kafka 原生就沒有提供,不過開發階段有 GUI 來協助確認訊息或是設定還是便利不少
- RabbitMQ 有官方 plugin:
management
- Kafka 有外部公司產品:
Conduktor
- Pulsar 也有官方 web:
Pulsar Manager
今天就來紀錄一下使用 docker 啟動 Pulsar Manager
與使用方式
基本環境說明
- macOS Monterey 12.2.1
- docker desktop 4.2.0(70708)
docker images
- apachepulsar/pulsar:2.9.1
- apachepulsar/pulsar-manager:v0.2.0
使用 docker 啟動 pulsar
docker run -d -p 6650:6650 -p 8080:8080 --name pulsar apachepulsar/pulsar:latest bin/pulsar standalone
6650
是 broker service port8080
是 web service port
設定與使用方式
使用 docker 啟動
docker run -d -p 9527:9527 -p 7750:7750 -e SPRING_CONFIGURATION_FILE=/pulsar-manager/pulsar-manager/application.properties apachepulsar/pulsar-manager:v0.2.0
9527
是 web ui 的 port7750
是後台 api 的 port
建立 user
語法
CSRF_TOKEN=$(curl http://localhost:7750/pulsar-manager/csrf-token) && curl \ -H 'X-XSRF-TOKEN: $CSRF_TOKEN' \ -H 'Cookie: XSRF-TOKEN=$CSRF_TOKEN;' \ -H "Content-Type: application/json" \ -X PUT http://localhost:7750/pulsar-manager/users/superuser \ -d '{"name": "{username}", "password": "{password}", "email": "{email}"}'
範例
CSRF_TOKEN=$(curl http://localhost:7750/pulsar-manager/csrf-token) && curl \ -H 'X-XSRF-TOKEN: $CSRF_TOKEN' \ -H 'Cookie: XSRF-TOKEN=$CSRF_TOKEN;' \ -H "Content-Type: application/json" \ -X PUT http://localhost:7750/pulsar-manager/users/superuser \ -d '{"name": "yowko", "password": "pass.123", "email": "[email protected]"}'
登入成功後,需要先建立 pulsar 的 endpoint
New Environment
Name and URL
因為使用 docker 啟動,記得 url 不要填 localhost or 127.0.0.1 會連到 Pulsar Manager 本身
成功新增
若 url 無法連線會出現錯誤訊息
如果沒有提供 protocol 則畫面不會有任何動作
心得
Pulsar Manager 的 UI 有些地方 ux 不是那麼直覺
- 像是前面提到的 Environment 設定,沒有提供 protocol 卻沒有反應
- 後面 New Topic 如果 pulsar 無法連線也不會提示,就是畫面沒有反應而已
- 部份功能 tab 也許是 cache,點來點去不如預期 後來才發現是 session 過期
- 我沒找到直接 consume 訊息的功能
參考資訊
文章作者 Yowko Tsai
上次更新 2022-03-13
授權合約
本部落格 (Yowko's Notes) 所有的文章內容(包含圖片),任何轉載行為,必須通知並獲本部落格作者 (Yowko Tsai) 的同意始得轉載,且轉載皆須註明出處與作者。
Yowko's Notes 由 Yowko Tsai 製作,以創用CC 姓名標示-非商業性-相同方式分享 3.0 台灣 授權條款 釋出。