soul 網關


soul( https://github.com/Dromara/soul) 是一個Java語言編寫的高性能,異步,基於webflux的響應式網關,整體項目結構比較清晰,目前還在維護開發,而且變化較大,項目本身也包含了一些優秀的設計,比如類似於dubbo的可擴展設計。網關采用插件化的方式對請求進行處理,插件包含:鑒權,限流,熔斷,防火牆,dubbo泛化調用,負載等。 其中限流是通過redis lua腳本的方式,熔斷通過Hystrix。
soul 系統的具體設計,可以參考官方文檔,非常詳細,這里只說一下大概的流程:

1. soul admin是網關管理后台,提供了插件,選擇器,規則的配置功能, 當有數據更新后,可以通過zookeeper, websocket , http長連接,nacos方式同步給網關站點。

2. 網關站點通過watch相關數據,當有變更發生的時候,獲取到最新數據。 

3. 網關采用了插件化方式,插件通過鏈式方式依次對符合規則的請求請求進行處理。

參考我的注解版soul  https://github.com/zhaoyb/soul

 


免責聲明!

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



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