Я бы хотел использовать Feign без брандмауэр-клиентской ленты, потому что я не хочу запускать Eureka, которая должна быть распределена и доступна. Вместо этого внутренние ELB с внутренними DNS-именами, управляемыми Route53, будут делать только штрафы.Spring Cloud: Как использовать Feign without Ribbon
Предоставление простые URL-адреса для @FeignClient
всегда приводит к no loadbalancer found for ..
, поэтому я попытался предотвращения симулировать с помощью ленты:
Весна Облако Netflix поставляется с FeignRibbonClient
, который используется, если ILoadBalancer
из ribbon-loadbalancer
присутствует. Однако, если эта зависимость исключается FeignConfiguration
нарушается:
Bean creation exception on FactoryBean type check: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'apiVersionClient': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: feign.codec.Decoder org.springframework.cloud.netflix.feign.FeignConfiguration.decoder; nested exception is java.lang.ArrayStoreException: sun.reflect.annotation.TypeNotPresentExceptionProxy
Идеи приветствуются :-)
Почему вы не хотите «ленточный вес-балансир»? – spencergibb
Я просто добавил некоторый контекст к вопросу: речь идет об Эврика. –
Лента не зависит от Eureka. Вам просто нужно указать балансировщик нагрузки, где удаленные серверы индивидуально (например, создать конфигурацию '@ RibbonClient' и установить' ServerList' как '@ Bean'). Это не означает, что в Spring Cloud может не быть ошибки, которая не позволяет вам делать это легко. –