Spring Eureka ищет порт 8761 вместо пользовательского порта - PullRequest
0 голосов
/ 04 июля 2019

У меня есть серверное приложение Spring Boot Eureka, которое настроено для работы в порту 5000 вместо стандартного 8761. Однако, когда я запускаю SBA, я получаю некоторые ошибки на консоли, связанные с отказом в соединении java, при прослушивании localhost : 8761

INFO 10408 --- [freshExecutor-0] com.netflix.discovery.DiscoveryClient : Получение всей информации реестра экземпляров с сервера eureka ОШИБКА 10408 --- [tbeatExecutor-0] c.n.d.s.t.d.RedirectingEurekaHttpClient: Ошибка выполнения запроса. конечная точка = {DefaultEndpoint serviceUrl = 'http://localhost:8761/eureka/}

com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: соединение отказано: соединиться в com.sun.jersey.client.apache4.ApacheHttpClient4Handler.handle (ApacheHttpClient4Handler.java:187) ~ [Джерси-апаш-client4-1.19.1.jar: 1.19.1]

Позже, когда я поднимаю другие микросервисы, я вижу, что они корректно регистрируются в eureka, работающем через порт 5000. Но почему приложение игнорирует конфигурацию при первом запуске сервера Eureka?

Также, как видно из встроенной картинки, сервер ищет зарегистрированные и недоступные реплики в 8761.

Registered and Unavailable replicas look up at default port

Буду очень признателен за любые объяснения по этому поводу.

Ответы [ 3 ]

1 голос
/ 07 июля 2019

Даже после добавления registerWithEureka & fetchRegistry в false, оно все равно указывало на 8761 для URL-адреса реплики.

eureka.client.registerWithEureka = false 
eureka.client.fetchRegistry = false

Основной причиной проблемы было не то, что свойства саморегистрации / поиска в реестре были установлены на false, но также изменение / указание правильного свойства serviceUrl.

Добавлены следующие строки в application.properties, и теперь мой сервер Eureka не указывает на порт Eureka по умолчанию 8761 для зарегистрированного URL-адреса реплики.

eureka.client.serviceUrl.defaultZone: http://localhost:${server.port}/eureka/
1 голос
/ 05 июля 2019
Default port for eureka server is 8761 but you can override it using server.port property in application.properties file or application.yml file. 

For e.g.
(application.properties)
   server.port=5000 
(application.yml)
   server:   
    port: 8761

One more thing, you need to specify following properties too to avoid auto registration of eureka.

**application.properties file:-**

eureka.client.registerWithEureka = false
eureka.client.fetchRegistry = false

**application.yml file :-** 

eureka:
   client:
      registerWithEureka: false
      fetchRegistry: false

It should start your application on port 5000. If you still face any issues, just show your properties or yml file code here.
0 голосов
/ 05 июля 2019

Пожалуйста, настройте сервер eureka, как показано ниже. Сервер eureka также будет выступать в роли клиента eureka. Поэтому сервер пытается зарегистрироваться в качестве клиента и ищет порт по умолчанию 8761.

server:
  port: 9000

eureka:
  client:
    register-with-eureka: false
    fetch-registry: false
    service-url:
      defaultZone: http://localhost:9000/eureka

...