Я недавно использовал Feign Netflix вместе с лентой, которая была довольно полезна. < /p>
Пример этого: < /p>
Код: Выделить всё
@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);
}
Однако, как только я внимательно посмотрел на импорт, я заметил следующее:
import feign.Feign;< /code> < /p>
Решение OpenSource Netflix, с другой стороны, имеет имена пакетов:
org.springframework.cloud.netflix.feign< /code>. < /p>
Кроме того, я заметил, что оба используют ленту, если таковые имеются, но нотация Netflix намного чище с большим количеством случится на заднем плане. Например. @feignclient < /code> класс аннотаций Javadoc утверждает: < /p>
аннотация для интерфейсов, объявляющих, что клиент REST с этим интерфейсом должен быть * создан (например, для автоматического создания в другой компонент
). Если лента доступна, она будет * использована для загрузки баланса
запросов на бэкэнд, а балансировщик нагрузки может быть настроен * с использованием
a @RibbonClient < /code> с одинаковым именем (то есть значение) в качестве клиента
< /li>
< /ul>
< /blockquote>
ленточный клиент. URL, например MyAppprod. < /p>
< /blockquote>
> MyService api =
> Feign.builder().client(RibbonClient.create()).target(MyService.class,
> "https://myAppProd");
< /code>
Итак, мои вопросы: < /h2>
Какова история /отношения и различия между двумя? < /li>
Каковы плюсы и минусы? Форк/использовать OpenFeign и изменить его, чтобы он находился в их интегрированном облачном решении? По сути, Netflix только что приобрел и интегрировал различные технологии, такие как Discovery, лента и притворение от проектов с открытым исходным кодом?
Подробнее здесь: https://stackoverflow.com/questions/498 ... -openfeign