Soul+Dubbo環境搭建
今天一下午,試了幾個小時如何搭建環境,發現了如下幾個 問題
版本不同,無法注冊
首先參考芋道源碼http://www.iocoder.cn/Soul/install/ 實現了一下dubbo+nacos。但是發現自己復制的2.1.2版本與下載的源碼的soul-admin和soul-boostrap的版本不對。項目無法被注冊到網關上,這個是個問題。后續希望可以通過看源碼能了解甚至解決這個問題
dubbo版本配置無法讀取到it's not a valid config! Please add <dubbo:application name="..." /> to your application config
參考soul-example的xml配置修改為使用yml搭配注解配置出現了上述錯誤。調整spring版本和dubbo版本均無效果,但觀察soul-admin后台可以發現還是注冊成功了。應該是dubbo的校驗出了問題,(soul開發者群中說是數據庫驗證的問題,還未完全驗證,后續可嘗試下)而注冊到soul-boostrap的信息並沒有問題
成功版本--完全使用soul-example
soul-example采用的是dubbo+zookeeper,與nacos的方案略有不同
通過查看規則發現,基本的匹配規則和均衡規則與http的並無不同,這個引發我另一個想法,如果dubbo本省的負載均衡規則和soul的均衡規則同時配置,那么該遵守哪一個規則呢?我們可以后續通過嘗試和源碼解讀來了解
啟動之后,我們,可以通過網關代理的接口來訪問到dubbo的服務了。
另外當插件中的zookeeper的端口配置錯誤時,錯誤是這樣的java.io.IOException: Packet len1213486160 is out of range! 很明顯上下文中的端口是nacos的8848我卻沒有意識到。
問題
- 版本兼容問題,低版本Soul無法注冊到高版本的soul-admin/soulboostrap中
- dubbo的負載均衡規則和soul集成的負載均衡規則的優先級
歡迎搜索關注本人與朋友共同開發的微信面經小程序【大廠面試助手】和公眾號【微瞰技術】,以及總結的分類面試題https://github.com/zhendiao/JavaInterview