Динамически создавать несколько клиентов ленты - PullRequest
0 голосов
/ 27 апреля 2018

У меня есть приложение с архитектурой пружинных микросервисов, но мы не используем eureka или какие-либо другие службы. Мое требование - создать динамический балансировщик нагрузки. Итак, для каждого сервиса будет уникальный и динамичный набор серверов. Конфигурация будет примерно такой:

ribbon:
  listOfServices: say-hello-service, say-hi-service

Чего я не хочу, так это повторять аннотацию @RibbonClient для каждого клиента службы, который я буду использовать. Я обнаружил, что RibbonClientSpecification является ключевым компонентом фабрики лент. Если я зарегистрирую его с именами say-hello-service.RibbonClientSpecification и say-hi-service.RibbonClientSpecification, он попытается вызвать соответствующую службу, даже если у меня нет @RibbonClient и какой-либо конфигурации, связанной с лентой. Так что мои вопросы

  1. Почему аннотация @RibbonClient необходима, поскольку мы можем идентифицировать сервисы по определенным свойствам? Мне кажется, что это избыточно, что мы должны определить свойства ленты в файле свойств, а также иметь аннотацию с тем же именем.
  2. Как зарегистрировать балансировщики нагрузки для каждого клиента ленты, который я создаю динамически?
  3. Каково право динамически создавать несколько клиентов ленты, не имея нескольких классов конфигурации @RibbonClient?
...