Razlike između Netflix Feigna i OpenFeigna

1. Pregled

U ovom uputstvu opisat ćemo razlike između Spring Cloud Netflix Feign i Spring Cloud OpenFeign.

2. Hinjenje

Feign olakšava pisanje klijenata web usluga pružajući podršku za bilješke koji nam omogućuje da svoje klijente implementiramo samo sa sučeljima.

Izvorno je Feign stvorio i objavio Netflix kao dio njihovog Netflix OSS projekta. Danas je to projekt otvorenog koda.

2.1. Proljetna oblačna Netflixova finga

Spring Cloud Netflix integrira Netflix OSS ponude u ekosustav Spring Cloud. To uključuje Feign, Eureka, Ribbon i niz drugih alata i uslužnih programa. Međutim, Feign je dobio vlastiti Spring Cloud Starter kako bi omogućio pristup samo Feignu.

2.2. OpenFeign

U konačnici, Netflix je odlučio prestati interno koristiti Feign i zaustavio je njegov razvoj. Kao rezultat ove odluke, Netflix je u potpunosti prenio Feign u zajednicu otvorenog koda pod novim projektom nazvanim OpenFeign.

Srećom, i dalje prima neizmjernu podršku zajednice otvorenog koda i vidio je mnogo novih značajki i ažuriranja.

2.3. Proljetni oblak OpenFeign

Slično svom prethodniku, Spring Cloud OpenFeign integrira prethodnički projekt u ekosustav Spring Cloud.

Pogodno je što ova integracija dodaje podršku za proljetne MVC bilješke i pruža iste HttpMessageConverters.

Usporedimo implementaciju Feigna pronađenu u Spring Cloud OpenFeign s onom koja koristi Spring Cloud Netflix Feign.

3. Ovisnosti

Prvo, moramo dodati proljeće-oblak-starter-finga i ovisnosti proljeća-oblaka ovisnosti o našim pom.xml datoteka:

 org.springframework.cloud proljeće-oblak-starter-finga 1.4.7.OBLOŽENJE org.springframework.cloud proljeće-oblak-ovisnosti Hoxton.SR8 pom uvoz 

Imajte na umu da ova knjižnica radi samo sa Spring Boot 1.4.7 ili starijim verzijama. Stoga naša pom.xml mora koristiti kompatibilne verzije bilo kojih ovisnosti Spring Clouda.

4. Implementacija s Spring Cloud Netflix Feignom

Sada možemo koristiti @EnableFeignClients kako bi se omogućilo skeniranje komponenata za bilo koja sučelja koja se koriste @FeignClient.

Za svaki primjer koji smo razvili pomoću projekta Spring Cloud Netflix Feign koristimo sljedeći uvoz:

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

Implementacija svih značajki potpuno je ista za staru i novu verziju.

5. Implementacija s Spring Cloud OpenFeign-om

Usporedno, naš vodič za Spring Cloud OpenFeign sadrži isti primjer kao i implementacija s Spring Netflix Feign.

Jedina razlika ovdje je što se naš uvoz vrši iz drugog paketa:

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

Sve ostalo je isto, što ne bi trebalo čuditi zbog odnosa između ove dvije knjižnice.

6. Usporedba

U osnovi su ove dvije implementacije Feigna identične. To možemo pripisati Netflix Feignu koji je predak OpenFeigna.

Međutim, Spring Cloud OpenFeign uključuje nove opcije i značajke koje nisu dostupne u Spring Cloud Netflix Feign.

Odnedavno možemo dobiti podršku za Micrometer, Dropwizard Metrics, Apache HTTP klijent 5, Google HTTP klijent i mnoge druge.

7. Zaključak

Ovaj je članak usporedio integracije Spring Cloud-a OpenFeign i Netflix Feign. Kao i obično, izvore ćete pronaći na GitHub-u za Spring Cloud OpenFeign i Netflix Feign.


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