Настройка шлюза ZUUL между микросервисами

Следующие службы работают

Eureka server
ZUUL gateway (api-gateway)
User service (user-service)
Plan service (plan-service)

Пользовательская служба будет связываться со службой Plan через ZUUL, используя OpenFeign для вызова.

Пользовательская служба имеет следующий открытый фиктивный клиент PlanService.

@FeignClient(name = "api-gateway")
@RibbonClient(name = "plan-service")
public interface PlanServiceFeign {
 @GetMapping("/plan-service/plandetails/{userId}")
 PlanDetails getPlanDetails(@PathVariable("userId") String userId);
}

В журналах следующий URL-адрес запускается для шлюза API, но zuul не переходит к микропрограмме план-сервис.

ПОЛУЧИТЬ http://api-gateway/plan-service/plandetails/12345

Мне не хватает какой-либо другой конфигурации для настройки ZUUL между связью микросервисов?


person madireddy    schedule 19.10.2020    source источник


Ответы (2)


Есть конфигурация, вы должны настроить ее в файле application.properties или файле application.yaml.

Если вы использовали файл application.yaml, настройте его следующим образом.


zuul:
  routes:
    plan:
      path: /plandetails/**
      serviceId: plan-service

Если вы использовали файл application.properties, выполните следующие настройки.

zuul.routes.plan-service.path = /plandetails/**
person Duleepa Wickramasinghe    schedule 21.10.2020

Исправлено добавлением настроек маршрутизации в application.properties

zuul.routes.<service-registry-name>.path=/<service-mapping>/*
person madireddy    schedule 20.10.2020