Eureka Discovery Server должен использоваться в конфигурационном режиме Peer-Aware в производственных настройках. Проверка: http://cloud.spring.io/spring-cloud-static/spring-cloud.html#_peer_awareness
Например ваш экземпляр сервера первый эврика будет иметь конфигурации, как это:
server:
port: 1111
eureka:
instance:
hostname: peer1
client:
serviceUrl:
defaultZone: http://peer2:1112/eureka/
..и второй экземпляр сервера, как это:
server:
port: 1112
eureka:
instance:
hostname: peer2
client:
serviceUrl:
defaultZone: http://peer1:1111/eureka/
Когда экземпляры сервера Эврика загрузитесь, они будут искать друг друга. Все микросервисы будут регистрироваться у них автоматически, поэтому, если вы спуститесь, то другой экземпляр сервера будет всегда там. На обоих экземплярах Eureka вы сможете увидеть все зарегистрированные микросервисы. Подобно этому вы можете масштабировать и иметь несколько экземпляров сервера в рабочей среде.
Примечание: Если вы пытаетесь это на одной системе, не забудьте отредактировать/и т.д./хосты файл:
127.0.0.1 peer1
127.0.0.1 peer2
Спасибо за ваш ответ. В вашем примере, предположим, что я запускаю новый микросервис и устанавливаю serviceUrl на «http: // peer1: 1111/eureka /». Если в этот момент произойдет сбой peer1, мой микросервис не будет запущен. Я думаю, что клиентам (micorservices) должен быть задан адрес всего «кластера» вместо одного экземпляра eureka, а это значит, что все экземпляры eureka должны отображаться как один экземпляр для клиентов. – Neo
Да, если peer1 не работает, микросервис будет fail, за исключением следующего: 'ERROR DiscoveryClient - - не удалось отправить heartbeat! com.netflix.discovery.shared.transport.TransportException: не удается выполнить запрос на каком-либо известном сервере ". Да, правильно, клиентам не задан адрес одного экземпляра. У меня была последняя конфигурация, в которой я прошел через запятую значения всех экземпляров сервера.Чтобы сбалансировать эти образы на серверах Eureka, я также видел загрузочные бункеры b/w microservices и экземпляры Eureka Server. –
Мы делаем это в нашей среде компании, используя балансировщик нагрузки перед парами Eureka. –