Zuul Load Balancer - PullRequest
       40

Zuul Load Balancer

0 голосов
/ 15 февраля 2020

Так что у меня небольшая проблема здесь. У меня есть 4 модуля:

  1. Eureka Server
  2. Zuul Gateway
  3. Служба аутентификации
  4. Другой MicroService

Когда Я запускаю его на локальном компьютере, и это не показывает никаких проблем, таких как Caused by: com.netflix.client.ClientException: Load balancer does not have available server for client: authentication-service

Но когда я начинаю строить его на docker, всегда возникает такая ошибка. Можете ли вы сказать мне, что я ошибаюсь?

eureka server properties

spring.application.name=bms-server

# default port for eureka server
server.port=8761
eureka.instance.hostname=bms-server

# eureka by default will register itself as a client. So, we need to set it to false.
# What's a client server? See other microservices (student, auth, etc).
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false

Zuul Server properties

server.port=8762
spring.application.name=bms-api-gateway
eureka.client.fetch-registry=true
eureka.client.service-url.defaultZone=http://bms-server:8761/eureka/
zuul.ignored-services=*
zuul.routes.authentication-service.path=/auth/**
zuul.routes.authentication-service.service-id=authentication-service
zuul.routes.general-setup-service.path=/general-setup/**
zuul.routes.general-setup-service.service-id=general-setup-service
zuul.routes.authentication-service.strip-prefix=false
zuul.routes.authentication-service.sensitive-headers=Cookie,Set-Cookie
zuul.retryable=true
zuul.ignored-headers=Access-Control-Allow-Credentials, Access-Control-Allow-Origin

ribbon.eureka.enabled=false
ribbon.ConnectTimeout=60000
ribbon.ReadTimeout=60000

hystrix.command.default.execution.enabled=false
hystrix.command.default.execution.isolation.strategy=THREAD
hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=240000

Служба аутентификации Свойства

spring.application.name=authentication-service
server.port=9100
eureka.client.service-url.defaultZone=http://bms-server:8761/eureka/

authentication-service.ribbon.listOfServers=http://localhost:9100
spring.cloud.loadbalancer.ribbon.enabled=false

Это мой Другой сервис Свойства

spring.application.name=authentication-service
server.port=9100
eureka.client.service-url.defaultZone=http://bms-server:8761/eureka/

general-setup-service.ribbon.listOfServers=http://localhost:9100
spring.cloud.loadbalancer.ribbon.enabled=false

И последний это мой docker -compose.yml

version: '3.5'

services:
  bms-server:
    image: bms-server:v1
    container_name: bms-server
    hostname: bms-server
    build:
      context: ./bms-server
      dockerfile: Dockerfile
    volumes:
      - maven-home:/root/.m2
    ports:
      - "8761:8761"
    networks:
      - bms-network

  bms-api-gateway:
    image: bms-api-gateway:v1
    container_name: bms-api-gateway
    build:
      context: ./bms-api-gateway
      dockerfile: Dockerfile
    ports:
      - "8762:8762"
    depends_on:
      - bms-server
    volumes:
      - maven-home:/root/.m2
    links:
      - bms-server:bms-server
    hostname: bms-api-gateway
    networks:
      - bms-network

  bms-authentication-service:
    image: bms-authentication-service:v1
    container_name: bms-authentication-service
    build:
      context: ./bms-authentication-service
      dockerfile: Dockerfile
    ports:
      - "9100:9100"
    volumes:
      - maven-home:/root/.m2
    depends_on:
      - bms-server
    links:
      - bms-server:bms-server
    hostname: authentication-service
    networks:
      - bms-network

  bms-general-setup-service:
    image: bms-general-setup-service:v1
    container_name: bms-general-setup-service
    build:
      context: ./bms-general-setup-service
      dockerfile: Dockerfile
    ports:
      - "9102:9102"
    depends_on:
      - bms-server
    links:
      - bms-server:bms-server
    volumes:
      - maven-home:/root/.m2
    hostname: general-setup-service
    networks:
      - bms-network

volumes:
  maven-home:

networks:
  bms-network:
    name: bms-network
    driver: bridge

Пожалуйста, скажите мне, что я ошибаюсь. Большое спасибо.

...