一、soul源碼學(xué)習(xí)-初識

本地代碼編譯

  1. github上訪問soul的代碼倉庫 : https://github.com/dromara/soul

  2. fork 到自己的倉庫

  3. 將代碼pull到本地

  4. 使用 mvn clean package install -Dmaven.test.skip=true -Drat.skip=true -Dcheckstyle.skip=true 命令本地打包編譯

  5. 項目編譯后就可以愉快的本地開始調(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
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容