您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關怎么解決Eureka中Jersey 1.x版本過舊的問題,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
Spring Cloud是當前炙手可熱的微服務開發框架。它的功能強大,組件豐富,設計優雅。目前Spring Cloud還在不斷發展之中。
Spring Cloud即將發布Spring Cloud Edgware
版本。該版本解決了不少Bug,新增了不少新特性。
Eureka服務器與客戶端之間默認使用Jersey 1.x
進行基于HTTP協議的交互。然而我們團隊,需使用docker-client
(https://github.com/docker-java/docker-java) 。這貨只支持Jersey 2.x
,而Jersey 1.x與2.x并不兼容。
于是,我們團隊面臨如下幾種選擇:
使用Eureka提供的eureka-client-jersey2
模塊,即使用Jersey 2.x
來代替Jersey 1.x
https://github.com/Netflix/eureka/tree/master/eureka-client-jersey2 。然而,這種方式不夠穩妥,原因是eureka-client-jersey2
是由社區提供,并非由Eureka官方團隊維護,并且已經很久不更新了。
放棄使用docker-client
,使用其他的Docker客戶端,例如https://github.com/spotify/docker-client (該項目支持Jersey 1.x以及Jersey 2.x)。
升級Spring Cloud Netflix
到1.4.x,即:Spring Cloud Edgware
【筆者認為的最佳方案】。
本文探討的就是在Spring Cloud Edgware
中Eureka的點點滴滴。
Spring Cloud Edgware
中,Jersey并非必選。可為Eureka Client禁用掉Jersey,轉而使用我們想要的HTTP客戶端,例如RestTemplate。只需將Jersey的包從依賴中刪除,Spring Cloud就會自動配置一個基于Spring RestTemplate
的傳輸客戶端。操作如下:
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka</artifactId> <exclusions> <exclusion> <groupId>com.sun.jersey</groupId> <artifactId>jersey-client</artifactId> </exclusion> <exclusion> <groupId>com.sun.jersey</groupId> <artifactId>jersey-core</artifactId> </exclusion> <exclusion> <groupId>com.sun.jersey.contribs</groupId> <artifactId>jersey-apache-client4</artifactId> </exclusion> </exclusions> </dependency>
簡單的操作后,有兩個好處:
再也不用煩Jersery的版本沖突問題
依賴減少了一些。
上述就是小編為大家分享的怎么解決Eureka中Jersey 1.x版本過舊的問題了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。