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.