業務網關-操作手冊


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

依賴組件

基礎組件

以下組件需要提前安裝好,本地跑的話建議用docker跑。

1、redis

用於緩存數據

2、zookeeper

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

3、mysql

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

應用組件

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

1、緩存

引入了jetcache做為項目中緩存組件,支持多級緩存

2、限流

引入了sentinel處理限流、熔斷

后台系統

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

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

1、創建數據庫:diablo_pre

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

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

4、指定預發環境標識

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

5、啟動項目

啟動成功后,瀏覽器輸入:http://127.0.0.1:8887 即可看到后台登錄頁面

6、配置分流插件

配置流量選擇器,實戰中我們是以域名做為維護,有點類似nginx中監聽的域名;分流插件第一步是在預發環境中配置,測試通過后同步到線上,同步后如果有問題提供了回滾功能。

配置流量選擇器后面的分流規則,有點類似nginx中的location配置;具體的分流規則可以將線上的請求跑由到后端的做任意服務上。

上圖中有一欄是路由主機選擇,比如將/order開頭的請求路由到order-api服務,我們可以通過接口形式將order-api后端服務器列表數據同步過來。

測試系統

由於我們主要是與分流插件為側,就需要啟動一個后端的用於測試的api項目,比如提供這樣的接口:http://127.0.0.1:8898/hi?name=123456

網關系統

diablo-web啟動比較簡單,與一般的web項目沒有大的差異。

1、配置application.yum;

2、啟動網關系統;

3、測試轉發能力

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

網關項目開源

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM