Автор оригинала: Andre Browne.
1. Обзор
В этом учебнике мы опишем различия между Весеннее облако Netflix симулировать и Весеннее облако OpenFeign .
2. Притворка
Симулировать упрощает написание веб-сервисов клиентам, предоставляя аннотацию поддержки что позволяет нам реализовывать наших клиентов только с интерфейсами.
Первоначально, Feign был создан и выпущен Netflix как часть их Netflix OSS проект. Сегодня это проект с открытым исходным кодом.
2.1. Весеннее облако Netflix Притворяться
Spring Cloud Netflix интегрирует предложения Netflix OSS в экосистему Spring Cloud. Это включает в себя Притворяться, Эврика, Лента, и множество других инструментов и утилит. Тем не менее, Feign получил свой собственный Spring Cloud Starter, чтобы позволить доступ к просто притворяться.
2.2. OpenFeign
В конце концов, Netflix решил прекратить использование Feign внутренне и прекратил свое развитие. В результате этого решения Netflix полностью передал Feign сообществу с открытым исходным кодом в рамках нового проекта под названием OpenFeign .
К счастью, он продолжает получать огромную поддержку от сообщества с открытым исходным кодом и видел много новых функций и обновлений.
2.3. Весеннее облако OpenFeign
Как и его предшественник, Spring Cloud OpenFeign интегрирует проект предшественника в экосистему Spring Cloud.
Удобно, эта интеграция добавляет поддержку аннотации Весна MVC и обеспечивает тот же HttpMessageConverters .
Давайте сравним притворную реализацию, найденную в Spring Cloud OpenFeign, с реализацией Spring Cloud Netflix.
3. Зависимости
Во-первых, мы должны добавить весна-облако-стартер-симулировать и весенне-облачные зависимости зависимостей от нашей пом.xml файл:
org.springframework.cloud spring-cloud-starter-feign 1.4.7.RELEASE org.springframework.cloud spring-cloud-dependencies Hoxton.SR8 pom import
Обратите внимание, что эта библиотека работает только с Spring Boot 1.4.7 или раньше. Поэтому наша пом.xml должны использовать совместимые версии любых зависимостей Spring Cloud.
4. Реализация с весенним облаком Netflix Feign
Теперь мы можем использовать @EnableFeignClients для сканирования компонентов для любых интерфейсов, которые используют @FeignClient .
Для каждого примера, который мы разработали с помощью проекта Spring Cloud Netflix Feign, мы используем следующий импорт:
import org.springframework.cloud.netflix.feign.FeignClient; import org.springframework.cloud.netflix.feign.EnableFeignClients;
Реализация всех функций точно такая же для старой и новой версии.
5. Реализация с весенним облаком OpenFeign
Для сравнения, наш учебник Spring Cloud OpenFeign содержит тот же пример, что и реализация с Spring Netflix Feign.
Разница лишь в том, что наш импорт из другого пакета:
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.EnableFeignClients;
Все остальное то же самое, что неудивительно из-за связи между этими двумя библиотеками.
6. Сравнение
По сути, эти две реализации Feign идентичны. Мы можем приписать это Netflix притворяться предком OpenFeign.
Тем не менее, Spring Cloud OpenFeign включает в себя новые опции и функции, которые не доступны в весеннем облаке Netflix Притворяться.
В последнее время мы можем получить поддержку Микрометровый , Dropwizard Метрика , Apache HTTP Клиент 5 , Google HTTP клиент , и многое другое.
7. Заключение
В этой статье сравнивались интеграции Весеннего Облака OpenFeign и Netflix Feign. Как обычно, вы найдете источники более на GitHub для обеих Весеннее облако OpenFeign и Netflix симулировать .