Eureka Server: как добиться высокой доступности

Я новичок в весеннем облаке. Я прочитал этот документ, и он говорит, что клиентское приложение должно указать URL службы:

eureka:
  client:
    serviceUrl:
      defaultZone: http://localhost:8761/eureka/

Но что, если localhost:8761 идет вниз?

2 ответа

Решение

Eureka Discovery Server следует использовать в режиме конфигурации Peer-Aware в производственных настройках. Проверьте: http://cloud.spring.io/spring-cloud-static/spring-cloud.html

Например, ваш первый экземпляр сервера eureka будет иметь следующую конфигурацию:

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 загрузятся, они будут искать друг друга. Все микросервисы будут регистрироваться с ними автоматически, поэтому, если один из них выйдет из строя, другой экземпляр сервера всегда будет там. В обоих случаях Eureka вы сможете увидеть все зарегистрированные микросервисы. Таким образом, вы можете масштабировать и иметь несколько экземпляров сервера в производственной среде.

Примечание: если вы пытаетесь сделать это в одной системе, не забудьте отредактировать файл /etc/hosts:
127.0.0.1 peer1
127.0.0.1 peer2

Я встретил ту же ошибку, что и ваш, конфиг, как это будет работать:

eureka:
    instance:
        hostname: localhost
    client:
        registerWithEureka: false
        fetchRegistry: false
        serviceUrl:
            default: http://${eureka.instance.hostname}:${server.port}/eureka/
Другие вопросы по тегам