本地代碼編譯
github上訪問soul的代碼倉庫 : https://github.com/dromara/soul
fork 到自己的倉庫
將代碼pull到本地
使用 mvn clean package install -Dmaven.test.skip=true -Drat.skip=true -Dcheckstyle.skip=true 命令本地打包編譯
項目編譯后就可以愉快的本地開始調(diào)試運行代碼了
soul的特性接下來需要關(guān)注的問題
支持各種語言(http協(xié)議),支持 dubbo,springcloud協(xié)議。
- 之后學(xué)習(xí)關(guān)注下不同協(xié)議的實現(xiàn)細(xì)節(jié),以及通過什么方式來支持的?
插件化設(shè)計思想,插件熱插拔,易擴(kuò)展。
- 如何實現(xiàn)插件化?如何做到熱插拔?
靈活的流量篩選,能滿足各種流量控制。
- 是怎么做的流量控制?是如何控制的?
內(nèi)置豐富的插件支持,鑒權(quán),限流,熔斷,防火墻等等。
- 支持哪些插件?如何支持的?
流量配置動態(tài)化,性能極高,網(wǎng)關(guān)消耗在 1~2ms。
- 如何動態(tài)化配置?為什么性能很高?如何實現(xiàn)的?
支持集群部署,支持 A/B Test, 藍(lán)綠發(fā)布。
- 如何做的A/B Test
soul的整體架構(gòu)圖:
image.png
soul單機部署 簡單架構(gòu)圖:
image.png
soul單機部署 dubbo 簡單架構(gòu)圖:
image.png
soul單機部署 springboot簡單架構(gòu)圖:
image.png
soul單機部署 spring cloud簡單架構(gòu)圖:
image.png