사용자 도구

사이트 도구


java:zuul

Zuul - Edge Service

Edge Service

  • Edge Service 는 API 앞단에서 인증, 필터링등을 거쳐서 그 정보를 가지고 그 뒤로 API 요청을 보낸다.
  • 여기서 권한 문제가 생기는데 Edge Service 뒷단에서 권한 문제(어떤 리소스를 어떤 사용자가 접근 가능한가)를 처리해야만한다.
  • 뒷단 API 서비스(보통 API Gateway라고 부름)은 그 뒤에서 다시 실제 서비스 API를 호출한다.

Spring Cloud Neflix Zuul

다중 path 지정

zuul:
  routes:
    myserver_mypath:
      path: /mypath/**
      url: ....
      serviceId: myserver
    myserver_another_path:
      path: /anotherpath/**
      url: ...
      serviceId: myserver

actuator

  • /actuator/routes
  • boot 2.1 의 경우 management.endpoints.web.exposure.include=routes 처럼 지정해 줘야 활성화 됨. 혹은 *

Filter

Service ID 알아내기

* 'org.springframework.cloud.netflix.zuul.filters.support.FilterConstants#SERVICE_ID_KEY'' 사용

  @Override
  public boolean shouldFilter() {
    RequestContext context = RequestContext.getCurrentContext();
    return "member-api".equals(context.get(SERVICE_ID_KEY));
  }

참고

java/zuul.txt · 마지막으로 수정됨: 2019/03/01 14:08 저자 kwon37xi