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的依賴。重啓便可解決問題git

正常啓動狀況下,被代理接口的訪問

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

  • 若是含有 /** 表明你的整個接口須要被網關代理
    另外,在配置文件中若是增長了soul.springcloud.full=true便可代理所有接口
    file
    能夠看到被代理接口增長了超時時間的選擇

隨後啓動多個端口不一樣的示例項目,發現選擇器中並無注入這些項目,懷疑並無在網關層作負載均衡,後續源碼階段能夠一探究竟面試

另外一個能夠關注的點:元數據

其餘的許多中間件和插件也都有元數據的概念,掌握Soul裏的元數據的概念對咱們理解其餘中間件的元數據的使用應該也會頗有幫助。同時,學習使用Soul在元數據操做上的經驗
filespring

另外一個能夠關注的點:插件處理管理

file
看列表數據能夠看到這裏的字段值對應的某種規則。後續源碼解讀能夠理解這一塊的邏輯和處理思路。能夠嘗試着本身自定義一個這樣的插件處理管理的規則小程序

問題

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

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

file
file

相關文章
相關標籤/搜索