AG-Admin基于 Spring Cloud 的微服務(wù)化開發(fā)平臺
AG-Admin是國內(nèi)首個基于Spring Cloud微服務(wù)化開發(fā)平臺,具有統(tǒng)一授權(quán)、認(rèn)證后臺管理系統(tǒng),其中包含具備用戶管理、資源權(quán)限管理、網(wǎng)關(guān)API管理等多個模塊,支持多業(yè)務(wù)系統(tǒng)并行開發(fā),可以作為后端服務(wù)的開發(fā)腳手架。代碼簡潔,架構(gòu)清晰,適合學(xué)習(xí)和直接項目中使用。核心技術(shù)采用Eureka、Fegin、Ribbon、Zuul、Hystrix、JWT Token、Mybatis等主要框架和中間件,前端采用vue-element-admin組件。
架構(gòu)說明
架構(gòu)詳解
服務(wù)鑒權(quán)
老A獨有的通過JWT的方式來加強服務(wù)之間調(diào)度的權(quán)限驗證,保證內(nèi)部服務(wù)的安全性。
監(jiān)控
利用Spring Boot Admin 來監(jiān)控各個獨立Service的運行狀態(tài);利用Hystrix Dashboard來實時查看接口的運行狀態(tài)和調(diào)用頻率等。
負載均衡
將服務(wù)保留的rest進行代理和網(wǎng)關(guān)控制,除了平常經(jīng)常使用的node.js、nginx外,Spring Cloud系列的zuul和rebbion,可以幫我們進行正常的網(wǎng)關(guān)管控和負載均衡。其中擴展和借鑒國外項目的擴展基于JWT的Zuul限流插件,方面進行限流。
服務(wù)注冊與調(diào)用
基于Eureka來實現(xiàn)的服務(wù)注冊與調(diào)用,在Spring Cloud中使用Feign, 我們可以做到使用HTTP請求遠程服務(wù)時能與調(diào)用本地方法一樣的編碼體驗,開發(fā)者完全感知不到這是遠程方法,更感知不到這是個HTTP請求。
熔斷機制
因為采取了服務(wù)的分布,為了避免服務(wù)之間的調(diào)用“雪崩”,采用了Hystrix的作為熔斷器,避免了服務(wù)之間的“雪崩”。
更多內(nèi)容請訪問項目主頁:https://gitee.com/geek_qi/ace-security
