Különbségek a Netflix Feign és az OpenFeign között

1. Áttekintés

Ebben az oktatóanyagban leírjuk a különbségeket a Spring Cloud Netflix Feign és a Spring Cloud OpenFeign között.

2. Feign

A Feign annotációs támogatással megkönnyíti a webszolgáltatás-ügyfelek írását ez lehetővé teszi számunkra, hogy ügyfeleinket csak interfészekkel valósítsuk meg.

Eredetileg a Feign-t a Netflix hozta létre és adta ki Netflix OSS projektjük részeként. Ma nyílt forráskódú projekt.

2.1. Tavaszi Felhő Netflix Feign

Spring Cloud A Netflix integrálja a Netflix OSS kínálatát a Spring Cloud ökoszisztémába. Ide tartozik a Feign, az Eureka, a Ribbon, valamint számos egyéb eszköz és segédprogram. A Feign azonban megkapta a saját Tavaszi Felhőindítóját, hogy hozzáférést biztosítson az éppen Feignhez.

2.2. OpenFeign

Végül a Netflix úgy döntött, hogy abbahagyja a Feign belső használatát, és leállította fejlesztését. E döntés eredményeként a Netflix teljesen átadta Feignt a nyílt forráskódú közösségnek egy új, OpenFeign nevű projekt keretében.

Szerencsére továbbra is hatalmas támogatást kap a nyílt forráskódú közösségtől, és számos új funkciót és frissítést látott.

2.3. Tavaszi Felhő OpenFeign

Az elődhöz hasonlóan a Spring Cloud OpenFeign integrálja az előd projektet a Spring Cloud ökoszisztémába.

Kényelmesen ez az integráció támogatja a tavaszi MVC kommentárokat, és ugyanazokat a HttpMessageConvertereket biztosítja.

Hasonlítsuk össze a Spring Cloud OpenFeign-ben talált Feign megvalósítást a Spring Cloud Netflix Feign használatával.

3. Függőségek

Először hozzá kell adnunk a tavasz-felhő-kezdő-színlelő és tavasz-felhő-függőségek függőségek a mi pom.xml fájl:

 org.springframework.cloud spring-cloud-starter-feign 1.4.7. KÖZLEMÉNY org.springframework.cloud spring-cloud-dependencies Hoxton.SR8 pom import 

Felhívjuk figyelmét, hogy ez a könyvtár csak a Spring Boot 1.4.7 vagy korábbi verzióival működik. Ezért a mi pom.xml az összes Spring Cloud-függőség kompatibilis verzióját kell használnia.

4. Megvalósítás a Spring Cloud Netflix Feign alkalmazással

Most már használhatjuk @EnableFeignClients engedélyezni az összetevők szkennelését az összes használt interfésznél @FeignClient.

Minden olyan példához, amelyet a Spring Cloud Netflix Feign projekt segítségével fejlesztettünk ki, a következő importokat használjuk:

import org.springframework.cloud.netflix.feign.FeignClient; import org.springframework.cloud.netflix.feign.EnableFeignClients;

Az összes szolgáltatás megvalósítása pontosan megegyezik a régi és az új verzióval.

5. Megvalósítás a Spring Cloud OpenFeign alkalmazással

Összehasonlításképpen, a Spring Cloud OpenFeign oktatóanyagunk ugyanazt a példát tartalmazza, mint a Spring Netflix Feign megvalósítása.

Az egyetlen különbség itt az, hogy importjaink egy másik csomagból származnak:

import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.EnableFeignClients;

Minden más ugyanaz, ami nem meglepő a két könyvtár közötti kapcsolat miatt.

6. Összehasonlítás

Alapvetően a Feign e két megvalósítása azonos. Ennek tulajdoníthatjuk, hogy a Netflix Feign az OpenFeign őse.

A Spring Cloud OpenFeign azonban új lehetőségeket és szolgáltatásokat tartalmaz, amelyek nem érhetők el a Spring Cloud Netflix Feign alkalmazásban.

A közelmúltban támogatást kaphatunk a Micrometer, a Dropwizard Metrics, az Apache HTTP Client 5, a Google HTTP kliens és még sok más számára.

7. Következtetés

Ez a cikk összehasonlította az OpenFeign és a Netflix Feign Spring Cloud integrációit. Szokás szerint a GitHubon megtalálhatja a Spring Cloud OpenFeign és a Netflix Feign forrásait.


$config[zx-auto] not found$config[zx-overlay] not found