階段性 Soul網關使用感覺
經過一段時間的Soul網關的接觸,總結了一些我認爲Soul網關存在的優點git
使用上
- 使用界面化的方式實現的屬性配置,極大的下降了網關的使用難度,相比Springcloud gateway使用容易不少
- 插件化的配置,使得稍有基礎的開發人員很容易集成與網關相關的基礎組件。同時能夠自定義一些組件,接入到當前的Soul網關插件中
- 對於SpringBoot的使用,全部現有插件以starter方式提供,
- 在插件屬性的配置上,將以往各類限流熔斷組件配置文件或註解的方式替換爲界面配置的方式,簡單易用。並且實現了零代碼侵入性。僅僅須要在客戶端增長接口註解而已
- 經過開閉原則等規範,使得各個插件或規則的卸載達到統一
- 靈活多樣的數據同步方式,針對不一樣的場景使用不一樣的數據同步
技術上
- 各類設計模式的使用,包括責任鏈模式,觀察者模式,模板方法模式,策略模式,簡單工廠模式,門面模式等等各類設計模式的融合運用,讓人感覺到網關的設計之精妙
- 各類插件的集成流程上,遵循了統一的原則,爲開發者自定義其餘插件提供了範本。也爲咱們本身寫代碼注重代碼規範提供了參考
- 使用了響應式編程,提高了性能的同時,也緊跟着技術發展趨勢。
- 完善的分層架構,針對不一樣的使用方面,區分了不一樣的層面,且一個模塊只幹一件事情。充分體現了單一職責原則。
- 對於語言新特性框架新特性的使用,例如ObjectProvider等功能的使用
- 對於功能模塊配置的劃分以及精確,區分選擇器和規則元數據等對不一樣的變化執行不一樣的操做。且實現了增量和全量同步,充分的考慮了性能要求和功能要求
- 對一些其餘優秀中間件和開源框架特性的綜合運用,例如泛化調用,SPI,異步編程,
目前存在的問題
- 文檔的版本和全面性有待提升
- 目前關於高可用高併發相關方面的案例還不夠多
指望
- 但願後續能在工做中對Soul網關進行綜合運用
- 能多使用soul集成的插件使用,前期學習中對不少插件缺少了解,致使只能簡單分析下流程
歡迎搜索關注本人與朋友共同開發的微信面經小程序【大廠面試助手】和公衆號【微瞰技術】,以及總結的分類面試題https://github.com/zhendiao/JavaInterviewgithub