javascript
Spring Cloud实战小贴士:版本依赖关系
去年在博客上連載了《Spring Cloud構建微服務架構》的系列博文,雖然這部分內容得到了不少關注者們的支持,但是不得不說這些內容只是適用于Spring Cloud入門階段對各個組件的初步認識。所以,今年除了將會繼續(xù)更新《Spring Cloud構建微服務架構》系列的連載之外,準備再開一個新系列:《SpringCloud實戰(zhàn)小貼士》,該系列文章內容將會聚焦在下面三個點上:
- 常見問題的解析
- 構建使用的技巧
- 實戰(zhàn)設計的思考
開篇:Spring Cloud的版本依賴關系
之前在《聊聊Spring Cloud版本的那些事兒》一文中,我們已經(jīng)介紹了Spring Cloud版本命名的由來以及版本號的規(guī)則,并列舉了各個版本的依賴內容,以幫助我們選擇合適的版本進行微服務實踐。
由于Spring Cloud的發(fā)展速度非常快,版本的更新非常頻繁,同時成體系化的中文文檔與教程又比較缺乏,所以很多初學者在搜索了網(wǎng)上的文章進行Spring Cloud的初次嘗試時,經(jīng)常會因為沒有關注它的版本依賴關系而引發(fā)一些問題。比如平時被問最多的一個問題,在使用Feign的時候為什么報了如下錯誤:
| org.springframework.core.annotation.AnnotationConfigurationException: Attribute 'value' in annotation [org.springframework.cloud.netflix.feign.FeignClient] must be declared as an @AliasFor [serviceId], not [name]. |
由于《Spring Cloud構建微服務架構》系列博文的例子都采用了Brixton版本,在介紹《Spring Cloud構建微服務架構(二)服務消費者》中的Feign時候也使用了它,而該版本的基礎Spring Boot版本是1.3.x,很多初學者可能因為一些原因,比如:現(xiàn)有應用使用Spring Boot 1.4.x實現(xiàn)或者自身喜歡緊跟潮流,這個時候就會出現(xiàn)上面的問題。
所以,我們在選擇Spring Boot與Spring Cloud版本的時候,還是需要盡可能的按照Spring Cloud官方版本依賴關系來使用:
- Angel版本對應Spring Boot 1.2.x
- Brixton版本對應Spring Boot 1.3.x
- Camden版本對應Spring Boot 1.4.x
就個人而言,推薦使用目前最新的Camden版本與Spring Boot 1.4.x的組合。首先,不光光是Spring Boot版本提升帶來的一些新功能,另外也由于Spring Cloud的組件版本也有提升,比如Brixton版本中的Spring Cloud Netflix采用了1.1.x,而Camden中采用了1.2.x,這兩個版本之間還有不少區(qū)別的,在1.2.x中提供了更多實用功能,比如:之前在《為Spring Cloud Ribbon配置請求重試(Camden.SR2+)》一文中提到的RestTemplate的請求重試、關于Zuul的一些頭信息優(yōu)化等。
更多Spring Boot與Spring Cloud學習與實戰(zhàn)內容可掃下面的二維碼關注我,第一時間獲得本博客的更新推送。
總結
以上是生活随笔為你收集整理的Spring Cloud实战小贴士:版本依赖关系的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 即时配送的ETA问题之亿级样本特征构造实
- 下一篇: Spring Cloud源码分析(二)R