Soul網關插件之Spring Cloud


com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server

出現這個錯誤的主要原因是因為。soul-examples里面的springcloud插件項目使用的默認注冊中心是eureka,pom文件中也是eureka。即使yml中配置文件修改了也沒用。因此需要講示例中心中的pom依賴修改為nacos的依賴。重啟即可解決問題

正常啟動情況下,被代理接口的訪問

注冊成功后,被成功代理的接口列表
file
正常代理的單個接口的訪問
file
通配符代理的接口的訪問,主要是要符合通配的格式要求

  • 如果含有 /** 代表你的整個接口需要被網關代理
    另外,在配置文件中如果增加了soul.springcloud.full=true即可代理全部接口
    file
    可以看到被代理接口增加了超時時間的選擇

隨后啟動多個端口不同的示例項目,發現選擇器中並沒有注入這些項目,懷疑並沒有在網關層做負載均衡,后續源碼階段可以一探究竟

另一個可以關注的點:元數據

其他的許多中間件和插件也都有元數據的概念,掌握Soul里的元數據的概念對我們理解其他中間件的元數據的使用應該也會很有幫助。同時,學習使用Soul在元數據操作上的經驗
file

另一個可以關注的點:插件處理管理

file
看列表數據可以看到這里的字段值對應的某種規則。后續源碼解讀可以理解這一塊的邏輯和處理思路。可以嘗試着自己自定義一個這樣的插件處理管理的規則

問題

  • 代理Spring Cloud時沒有做負載均衡的操作。負載均衡由springCloud組件來完成

歡迎搜索關注本人與朋友共同開發的微信面經小程序【大廠面試助手】和公眾號【微瞰技術】,以及總結的分類面試題https://github.com/zhendiao/JavaInterview

file
file


免責聲明!

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



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