Балансировщик нагрузки не имеет доступного сервера для клиента: HELLO-SERVER

У меня проблема с моим приложением zuul. говоря это:

The load balancer does not have an available server for the client: HELLO-SERVER

если я собираюсь запустить службу моего клиента, как это (ниже), то я могу переопределить профиль по умолчанию, так как у меня есть куча профилей:

мой конфиг-сервер:

java -Xms128m -Xmx128m -jar target/config-local-0.0.1-SNAPSHOT.jar 

мой сервер eureka:

java -Xms128m -Xmx128m -jar target/eureka.server.cloud-0.0.1-SNAPSHOT.jar 

мой привет-сервер:

java -Xms128m -Xmx128m -jar -Dspring.application.name=reporting -Dspring.profiles.active=dev -Dserver.port=3030 target/hello-server-0.0.1-SNAPSHOT.jar 

мой сервис zuul:

java -Xms128m -Xmx128m -jar  -Dserver.port=5050 target/zuul-service-0.0.1-SNAPSHOT.jar

КОНФИГУРАЦИЯ:

Я установил ConfigServerMicroservice, где мой application.yml, как это:

server:
  port: 8191

spring:
  profiles:
    active:
    - native
  cloud:
    config:
      server:
    native:
      search-locations:
      - /home/jhoe/getcare.microservices/config-server-store

management:
  endpoints:
    web:
      exposure:
    include:
    - '*'

info.app.name: Config Server
info.app.description: Spring Boot Application
info.app.version: 1.0.0

Вот мои профили:

/home/jhoe/getcare.microservices/config-server-store
membership-dev.yml
membership-prod.yml
membership-qa.yml
membership.yml
reporting-dev.yml
reporting-prod.yml
reporting-qa.yml
reporting.yml
search-dev.yml
search-prod.yml
search-qa.yml
search.yml

вот мой сервер эврика

package com.eureka.server.cloud;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;


@EnableEurekaServer
@SpringBootApplication
public class EurekaServerApplication {

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

}

мой application.yml (сервер эврика)

eureka:
  client:
    register-with-eureka: false
    fetch-registry: false
    service-url:
      defaultZone: http://localhost:8070/eureka/
      waitTimeInMsWhenSyncEmpty: 0

spring.application.name=eureka-service
server.port=8070

мой привет сервер

package com.eureka.server.cloud;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/rest/hello/server")

public class HelloResource {

    @GetMapping
    public String hello() {
        return "This is from HELLO-SERVER!";
    }

}

bootstrap.yml (привет сервер)

server:
  port: ${PORT:0}

spring:
  cloud:
    config:
      uri:
      - http://192.168.2.103:8191
  application:
    name: membership
  profiles:
    active:
    - dev

application.yml (привет-сервер)

spring:
  application:
    name: hello-server

server:
  port: ${PORT:0}

eureka:
  client:
    register-with-eureka: true
    fetch-registry: true
    service-url:
      defaultZone: http://localhost:8070/eureka/
    healthcheck:
      enabled: true
  instance:
    hostname: localhost

management:
  endpoints:
    web:
      exposure:
        include:
        - '*'

info.app.name: Hello-Server (Client 2)
info.app.description: Spring Boot Application
info.app.version: 1.0.0

для зуула

package eureka.server.cloud;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
import org.springframework.cloud.netflix.zuul.EnableZuulProxy;

@EnableEurekaClient
@EnableZuulProxy
@SpringBootApplication
@EnableDiscoveryClient
public class ZuulServiceApplication {

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

}

application.yml (zuul)

spring:
  application:
    name: zuul-service

eureka:
  client:
    service-url:
      defaultZone: http://localhost:8070/eureka/
    register-with-eureka: true
    fetch-registry: true
  instance:
    hostname: localhost 
server:
  port: ${PORT:0}


zuul:
  #Service will be mapped under the /api URI
  prefix: /api
  routes:
    hello-server: 
      path: /server/**
      service-id: HELLO-SERVER
    hello-client:
      path: /client/**
      service-id: HELLO-CLIENT
    consumer-client:
      path: /consumer/**
      service-id: CONSUMER-CLIENT


ribbon:
  eureka:
    enabled: true
  ReadTimeout: 60000


#Increase the Hystrix timeout to 60s (for all)
hystrix:
  command:
    default:
      execution:
        isolation:
          thread:
            timeoutInMilliseconds: 180000

После всех этих конфигураций он все еще не может понять, почему не идет к этим выводам, которые я ожидал:

HTTP: // локальный: 5050 / API / сервер / отдых / привет / сервер

Это от HELLO-SERVER!

и как я пну это в моем браузере для профиля:

http://localhost:3030/profile

и показывая мой профиль hello-сервера, указывающий на

/home/jhoe/getcare.microservices/config-server-store/reporting-dev.yml 

из-за этого параметра:

-Dspring.application.name = отчетность -Dspring.profiles.active=dev -Dserver.port=3030

Есть ли что-то, что я пропустил, я действительно ценю ваш вклад, помощь, помощь.

0 ответов

Другие вопросы по тегам