Rainbond集成第三方服務實踐(集羣外數據庫)

若是在公有云(好比阿里雲, AWS)上的分佈式數據庫, 沒法遷移到 Rainbond 上; 或是其餘還沒有遷移到 Rainbond 的數據庫, 那麼你可使用第三方服務將它們註冊到 Rainbond 中, 從而使得集羣內服務也能夠訪問它們。本文將演示如何把集羣外的 MySQL 經過第三方服務註冊到 Rainbond 集羣中, 併爲其定義共享環境變量,從而解決多個服務重複定義數據庫鏈接信息變量的問題。php

若是Rainbond安裝在阿里雲,請注意使用阿里雲RDS雲數據庫時必須與Rainbond集羣處於同一個區域。mysql

前期準備

  • 請確保你已經安裝了 Rainbond V5.1 或更高的版本。
  • 須要添加的服務, 本文使用的是 Rainbond 集羣外的一個 MySQL。
  • phpMyAdmin, 能夠在應用雲市中安裝, 也能夠經過鏡像的方式建立.

你能夠假設這個 MySQL 是很是複雜的, 好比它是一個分佈式, 主從複製, 讀寫分享的 MySQL, 遷移的難度比較在; 那麼你能夠先不遷移這個 MySQL, 經過第三方服務將這個 MySQL 的實例添加到 Rainbond 集羣中, 讓它也可使用 Rainbond 服務通訊治理, 服務拓撲關係等功能.sql

步驟 1: 填寫第三方服務信息

登陸 Rainbond 控制檯, 進入 建立應用 -> 添加第三方服務.docker

填寫 服務名稱, 應用名稱, 服務註冊方式(以 API 註冊爲例), 服務地址等信息.數據庫

點擊 建立服務, 並在檢測經過後, 點擊 建立.json

步驟 2: 添加實例地址

1. 獲取添加實例的 API 地址和祕鑰

添加實例的 API 地址和祕鑰等信息在服務的總覽 頁面中, 以下圖所示:api

Minion

2. 能過 Restful API 添加服務實例

在你的終端中, 結合 1 中的 API 和祕鑰, 輸入相似如下的 curl 命令, 發起 PUT 請求, 將實例192.168.1.107添加到服務中.瀏覽器

curl -X PUT \
--url http://192.168.1.200:7070/console/third_party/bb9371b3a3288e5abb329d780d85507b \
-H "Content-Type: application/json" \
-d '{"secret_key":"jErDmpot","ip":"192.168.1.107","is_online":true}'
{"msg":"success","code":200,"data":{"bean":{},"list":[]},"msg_show":"修改爲功"}

詳細的 API 註冊請參考: 基於API註冊的第三方服務app

步驟 3: 添加端口

建立完成後, 會進入到服務的管理頁面. 在導航中選擇 端口.curl

點擊添加端口, 輸入端口爲 3306, 選擇 mysql 協議.

添加完成後, 打開對內服務, 開啓服務的服務通訊治理功能.

這裏須要注意的是, 內部的服務能夠添加多個端口, 而第三方服務只能添加一個端口.

步驟 4: 定義和分享鏈接信息

在導航中選擇 鏈接信息, 而後定義 MySQL 的鏈接信息(鏈接信息其實是服務的環境變量). 如圖所示:

Minion

這樣, 當其餘服務依賴了這個 MySQL 後, 就能夠直接使用它的鏈接信息. 也就是說, 定義後的鏈接信息, 是能夠分享出去的.

步驟 5: 確認服務

打開對內服務後, 該服務就可使用 Rainbond 的服務通訊治理功能.

使準備好的 phpMyAdmin, 與依賴第三方服務創建依賴; 而後更新或啓動 phpMyAdmin.

在 phpMyAdmin 的 Dashboard 中, 點擊訪問, 對其進行訪問, 並輸入 MySQL 的帳號密碼.

你應該會在瀏覽器中看到相似下面的網頁:

Minion

這代表, 你已經成功地將集羣外的服務(MySQL), 經過第三方服務添加到了集羣中.

進入 phpMyAdmin 的實例容器, 查看環境變量, 你應該能夠看到步驟 4 中定義的 MySQL 鏈接信息:

# env | grep MYSQL
MYSQL_PASS=rainbond
MYSQL_HOST=127.0.0.1
MYSQL_USER=root
MYSQL_PORT=3306

這代表, MySQL 的鏈接信息已經成功地被分享給 phpMyAdmin 了. 在這個例子中, phpMyAdmin 沒有使用這些鏈接信息, 你實際的使用過程當中, 你能夠根據實際的狀況對這些鏈接信息進行利用.

總結

至此, 相信你已經瞭解瞭如何將 Rainbond 集羣外的服務註冊到集羣中, 併爲定義和分享其環境變量. 第三方服務註冊到集羣后, 能夠像內部服務同樣, 使用通訊治理, 服務拓撲關係等功能.

相關文章
相關標籤/搜索