Балансировщик нагрузки не имеет доступного сервера для клиента: 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
Есть ли что-то, что я пропустил, я действительно ценю ваш вклад, помощь, помощь.