注冊IP問題
早期的Spring Cloud Eureka在注冊獲取網卡IP時,不能區(qū)分外網網卡和內網網卡,如果安裝了虛擬機和docker也不能區(qū)分虛擬網卡揪惦,每次啟動注冊的IP都有可能不一樣扒怖,如果要注冊為外網網卡IP,那運行帶寬就不夠完残,這個bug應該說是比較嚴重的問題伏钠,因此重寫了網卡IP獲取的邏輯來解決,同時也反饋給了spring cloud團隊谨设,再后期的版本中添加了網卡接口排序和通過名稱過濾的功能來得到解決熟掂。
HealthCheck的問題
在一些極小概率的情況下,會導致Eureka Server 下線微服務實例扎拣,出現(xiàn)“Remote status from Eureka server is down”的問題赴肚,即便是重啟微服務也無濟于事,不過已經有碼友在spring cloud 官方github貼出了解決方法的issue二蓝。
Zookeeper版本帶來的性能問題
現(xiàn)象是一個團隊在實施微服務時誉券,發(fā)現(xiàn)部署到服務器上的微服務,在沒有任何請求時刊愚,仍然CPU占用20~30%踊跟;匪夷所思的是,同樣的微服務包在本地開發(fā)機器鸥诽、本地物理機商玫、本地虛擬機運行并未出現(xiàn)。通過jvisualvm觀察,如下圖:
可以看到和Zookeeper有關牡借,同時我的另一個Demo微服務在任何環(huán)境下卻未出現(xiàn)該問題拳昌。比較jar中依賴包之后發(fā)現(xiàn),2個包中唯一不一樣的是Apache Curator版本钠龙,一個是2.8.0, spring cloud默認依賴的版本炬藤;沒問題的是Apache Curator 2.9.1。Apache Curator 2.8.0 BUG?∮恪?滔瘛!在[Apache Curator 2.9.1 Release Notes](<https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12314425&version= 12332392>也發(fā)現(xiàn)了對此bug的描述并闲。升級到2.9.1問題解決细睡,皆大歡喜。同時上報此bug給Spring Cloud團隊帝火,升級Apache Curator版本溜徙。
Feign使用不當帶來的性能問題
Feign在Spring容器中使用了獨立應用上下文湃缎,要注意命名空間上隔離,詳情參考:Feign正確的使用方法和性能優(yōu)化注意事項 |http://www.reibang.com/p/191d45210d16來繞過坑蠢壹。
這幾個坑是不能容忍的嗓违,踩過其他小坑就不計其數了,但都不傷大雅图贸,可以替代蹂季。