業務網關-操做手冊

這裏從部署運維的角度描述如何將網關係統動做起來,因爲線上實戰的系統是分佈式,因此項目依賴的組件會相對多一些,爲了簡化,將配置組件(apollp)作了移除。這篇以網關最基本的分流組件作爲演示,其它組件的應用不在此篇中描述。

依賴組件

基礎組件

如下組件須要提早安裝好,本地跑的話建議用docker跑。css

一、redismysql

用於緩存數據nginx

二、zookeepergit

用於在分佈式系統中同步數據github

三、mysqlweb

用於存儲網類的配置數據,好比分流規則,RPC協議轉換等數據。redis

應用組件

如下組件是基於應用層面的應用軟件,更好的處理業務中的問題。sql

一、緩存docker

引入了jetcache作爲項目中緩存組件,支持多級緩存數據庫

二、限流

引入了sentinel處理限流、熔斷

後臺系統

後臺系統也能夠理解成一個配置系統,針對不一樣的網關插件作不一樣的數據配置。實戰版本中有預發環境以及生產環境,但本地跑起來能夠只選用預發環境就能夠。

後臺系統的代碼70%來自於開源項目[soul],咱們在此基礎上作了一些擴展性的功能,好比:預發環境下生產環境;RPC協議插件配置;分佈系統數據同步等。

一、建立數據庫:diablo_pre

二、執行diabol-admin項目中scripts目錄下的diablo_pre.sql,建立表結果以及初始化數據

三、修改application.yml,按實際狀況修改對應的mysql,redis,zookeeper等配置

四、指定預發環境標識

啓動參數中配置diablo.admin.apollo.cluster=pre;此處的key名稱後續會更改。

五、啓動項目

啓動成功後,瀏覽器輸入:http://127.0.0.1:8887 便可看到後臺登陸頁面

六、配置分流插件

配置流量選擇器,實戰中咱們是以域名作爲維護,有點相似nginx中監聽的域名;分流插件第一步是在預發環境中配置,測試經過後同步到線上,同步後若是有問題提供了回滾功能。

配置流量選擇器後面的分流規則,有點相似nginx中的location配置;具體的分流規則能夠將線上的請求跑由到後端的作任意服務上。

上圖中有一欄是路由主機選擇,好比將/order開頭的請求路由到order-api服務,咱們能夠經過接口形式將order-api後端服務器列表數據同步過來。

測試系統

因爲咱們主要是與分流插件爲側,就須要啓動一個後端的用於測試的api項目,好比提供這樣的接口:http://127.0.0.1:8898/hi?name=123456

網關係統

diablo-web啓動比較簡單,與通常的web項目沒有大的差別。

一、配置application.yum;

二、啓動網關係統;

三、測試轉發能力

輸入http://127.0.0.1:8899/hi?name=123,如能看到以下輸入就說明分流插件運轉正常。

網關項目開源

以上內容基於業務網關的一個小模塊,詳細請看這裏:diablo在這裏

相關文章
相關標籤/搜索