Клиентская служба Eureka недоступна на PCF Dev - PullRequest
0 голосов
/ 20 октября 2018

Это мой первый микро-сервис, использующий PCF Dev.Я создал следующее приложение Eureka Server.

@EnableEurekaServer
@SpringBootApplication
public class EurekaServiceApplication {

    public static void main(String[] args) {
        SpringApplication.run(EurekaServiceApplication.class, args);
    }
}

Ниже приведены свойства службы eureka-server

eureka-service.register-with-eureka=false
eureka-service.fetch-registry=false
eureka-service.defaultZone=http://eureka-service.local.pcfdev.io/
eureka-service.logging.level.com.netflix.eureka=OFF
eureka-service.logging.level.com.netflix.discovery=OFF

Ниже представлена ​​служба eureka-client

@EnableDiscoveryClient
@SpringBootApplication
public class EurekaClientApplication {

    public static void main(String[] args) {
        SpringApplication.run(EurekaClientApplication.class, args);
    }
}

@RestController
class ServiceInstanceRestController {

    @Autowired
    private DiscoveryClient discoveryClient;

    @RequestMapping("/service-instances/{applicationName}")
    public List<ServiceInstance> serviceInstancesByApplicationName(@PathVariable String applicationName) {
        return this.discoveryClient.getInstances(applicationName);
    }
}

Ниже приведены свойства для службы eureka-client.

eureka.client.register-with-eureka=true
eureka.client.fetch-registry=true
eureka.client.defaultZone=http://eureka-client.local.pcfdev.io/
eureka.client.logging.level.com.netflix.eureka=ON
eureka.client.logging.level.com.netflix.discovery=ON

Я развернул микро-сервисы на экземпляре PCF Dev, работающем на моем локальном

PCF Dev Snapshot

Когда я запускаю сервер и клиент в качестве приложений Java на своем локальном компьютере, я вижу ответ от конечной точки service-instances / eureka-client .Но я получаю пустой массив при попытке вызвать следующую конечную точку

http://eureka -client.local.pcfdev.io / service-instances / eureka-client

Когда я пытаюсь получить доступ к eureka-сервису, используя URL

http://eureka -service.local.pcfdev.io /

Я получаю следующий ответ:

This site can’t be reached eureka-service.local.pcfdev.io refused to connect.
Search Google for eureka service local pcfdev io
ERR_CONNECTION_REFUSED

Заранее спасибо.

Edit-1:

Согласно @Комментарий Барата, я изменил файл application.properties для клиентского приложения, как показано ниже, но проблема до сих пор не устранена.Ранее я ошибочно ссылался на имя клиентского приложения в файле application.properties.

eureka-client.register-with-eureka=true
eureka-client.fetch-registry=true
eureka-client.serviceUrl.defaultZone=http://eureka-client.local.pcfdev.io/
eureka-client.logging.level.com.netflix.eureka=ON
eureka-client.logging.level.com.netflix.discovery=ON

Файл bootstrap.properties для клиента содержит следующую запись:

spring.application.name=eureka-client 

Файл bootstrap.properties для сервера содержит следующую запись:

spring.application.name=eureka-service

Редактировать-2

Сервер: https://github.com/abnig/eureka-service Клиент: https://github.com/abnig/eureka-client

1 Ответ

0 голосов
/ 20 октября 2018

свойства, которые должны быть определены на сервере и клиенте eureka, описаны ниже

eureka-server

eureka:
  instance:
    hostname: eureka-service.local.pcfdev.io
  client:
    fetch-registry: false
    register-with-eureka: false

eureka-client

eureka:
  client:
    serviceUrl:
      defaultZone: https://eureka-service.local.pcfdev.io/eureka
    register-with-eureka: true
    fetch-registry: true

см. native-cloud-native для справки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...