Я смотрю Spring Boot/Cloud и Netflix FWs (Eureka, Ribbon). Я работаю в этом примере:Балансировка нагрузки весной Cloud/Netflix OSS
https://spring.io/blog/2015/07/14/microservices-with-spring В основном речь идет о небольших микросредах Spring Boot, которые используют реестр службы Eureka.
Теперь я хочу запустить несколько экземпляров одной и той же службы (в этом примере AccountService, на разных портах). Все, что я прочитал (выше статьи, http://callistaenterprise.se/blogg/teknik/2015/04/10/building-microservices-with-spring-cloud-and-netflix-oss-part-1/ и т. Д.), Предполагает, что если я это сделаю, все экземпляры будут зарегистрированы с Eureka избыточно, и когда я вызову услугу, будет применена балансировка нагрузки на стороне клиента, а услуга для вызова будет динамически выбрана.
Однако это НЕ, что происходит. Когда я запускаю первый экземпляр службы, он регистрируется и появляется на панели инструментов Eureka. Когда я запускаю ту же службу на другом порту, она также регистрируется, но, похоже, ЗАМЕНИТЬ предыдущий экземпляр службы: на панели инструментов Eureka показывается только один экземпляр с доступными зонами = 1 (должен быть 2?) И ВСЕ вызовы этой услуги обрабатываются вторым экземпляром. Когда я запрашиваю реестр, применяется только этот экземпляр.
Когда я останавливаю второй экземпляр, через некоторое время Эврика переключается на первый, и он все еще работает. Таким образом, похоже, что он хранит все экземпляры, но только когда-либо использует экземпляр, который был зарегистрирован последним.
Пропустить что-нибудь важное? Я думал, что все экземпляры должны использоваться одновременно?
========== Свойства приложения являются (те практически не изменились к примеру от Spring Site):
EurekaServer
eureka:
instance:
hostname: localhost
client:
registerWithEureka: false
fetchRegistry: false
server:
port: 1111
spring:
thymeleaf:
enabled: false
AccountsServer
spring:
application:
name: accounts-service
freemarker:
enabled: false
thymeleaf:
cache: false
prefix: classpath:/accounts-server/templates/
eureka:
client:
serviceUrl:
defaultZone: http://localhost:1111/eureka/
server:
port: 4444 # HTTP (Tomcat) port, for the second instance this is changed to a different port
Вы можете размещать свои приложения.properties от клиента и сервера? –