Ich habe kürzlich Netflix Feign zusammen mit einem Ribbon verwendet, was sehr nützlich war. < /p>
Ein Beispiel dafür ist: < /p>
Code: Select all
@FeignClient(name = "ldap-proxy")
public interface LdapProxyClient {
@RequestMapping(path = "/ldap-proxy/v1/users/{userNameOrEMail}", produces = MediaType.APPLICATION_JSON_VALUE, method = RequestMethod.GET)
LdapUser search(@PathVariable("userNameOrEMail") String userNameOrEMail);
}
Die OpenSource -Lösung von Netflix hingegen hat Paketnamen:
org.springframework.cloud.netflix.feign< /code>. < /p>
Außerdem habe ich festgestellt, dass beide, falls dies verfügbar ist, eine Ribbon verwenden, aber Netflixs Notation ist viel sauberer, wenn viel passiert im Hintergrund. Z.B. Die @FeignClient < /code> Annotationsklasse Javadoc gibt an: < /p>
Annotation für Schnittstellen, in denen ein REST -Client mit dieser Schnittstelle erstellt werden sollte (z. B. für die Verhandlung in eine andere
-Komponente). Wenn ein Band verfügbar ist, wird es * verwendet, um das Gleichgewicht zu laden
Die Backend -Anfragen, und der Lastausgleich kann mit
A @ribbonclient < /code> mit demselben Namen (d. H. Wert) konfiguriert werden. (bei https://github.com/openfeign/FEIGN) Ich sehe: < /p>
Ribbonclient überschreibt URL -Auflösung des Clients von vorgefertigten Kunden. URL, zum Beispiel myappprod. < /p>
< /blockquote>
> MyService api =
> Feign.builder().client(RibbonClient.create()).target(MyService.class,
> "https://myAppProd");
< /code>
Meine Fragen sind also: < /h2>
Was sind die Geschichte /Beziehung und Unterschiede zwischen den beiden? Fork/Nutzung von OpenFeigel und modifizieren Sie es so, dass sie sich in der integrierten Cloud -Lösung befindet? Hat Netflix im Wesentlichen verschiedene Technologien wie Discovery, Ribbon und vorgetäuscht von Open-Source-Projekten erfasst und integriert?