flying-fish-gateway網(wǎng)關(guān)路由服務
flying-fish-gateway(飛魚網(wǎng)關(guān)系統(tǒng))是基于spring-cloud-gateway開發(fā)的網(wǎng)關(guān)路由服務,用于服務與服務之間的通訊邊界管理,支持過濾器、熔斷、鑒權(quán)、限流、日志、監(jiān)控等功能
解決目前項目中A==>B,A==>C,A==>...,服務與服務之間以直鏈訪問的方式,改為A==>gateway==>B\C...,服務走網(wǎng)關(guān)訪問另一個服務,使得服務通訊可控、可復用、統(tǒng)一管理、安全鑒權(quán)、服務能力保護等效果
特色
- 完全支持動態(tài)網(wǎng)關(guān)路由配置,在控制臺界面修改完畢,即可生效
- 支持可動態(tài)配置IP、ID、TOKEN過濾器
- 支持可動態(tài)配置全局、自定義熔斷器,實現(xiàn)業(yè)務高峰抗壓能力
- 支持可動態(tài)配置IP、URL、REQUESTID等基于令牌桶算法自定義限流器,實現(xiàn)業(yè)務峰值固化,避免雪崩效應
- 支持可動態(tài)配置HEADER、IP、請求參數(shù)、時間、Cookie等鑒權(quán)驗證,加強業(yè)務訪問安全,避免或減少每個業(yè)務服務重復實現(xiàn)安全鑒權(quán)規(guī)則
軟件架構(gòu)
本工程共分六個模塊:
- dynameic-gateway為核心網(wǎng)關(guān)路由服務,提供客戶端請求轉(zhuǎn)發(fā),服務端地址路由功能,以及過濾器、熔斷、鑒權(quán)、限流、日志、監(jiān)控等功能
- dynameic-manage為界面可視化管理后臺,提供客戶端管理、服務端管理、IP訪問管理等功能
- formwork為核心框架,提供基礎(chǔ)與公共業(yè)務處理模塊與類
- eureka-server為注冊與發(fā)現(xiàn)服務,只需啟動即可,無其它業(yè)務操作
- admin-server為springboot服務提供監(jiān)控管理,支持可視化WEBUI,只需啟動即可,無其它業(yè)務操作
- examples為示例項目
后續(xù)開發(fā)計劃:
- 增加全局日志輸出,按一定格式存儲,方便后續(xù)引入elk做數(shù)據(jù)分析
- 增加臨控功能,支持大廳全局圖表展示,與單個服務、單個客戶端等訪問量、流量、錯誤等監(jiān)控圖表展示
安裝教程
- 依賴spring-boot 2.0.3.RELEASE、spring-cloud Finchley.RELEASE版本,注意版本的搭配
- 需安裝eureke、consul等其中任意一種,也可無需注冊中心運行
使用說明
- jdk1.8 +
- mysql.5.x +
- redis3.x +
前端項目
- 本項目采用前后端分離,此git倉庫為純后臺模塊
- 點擊此鏈接下載,前端控制臺管理項目 flying-fish-manage
項目界面
評論
圖片
表情
