ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • SCG 라우팅 추가와 삭제
    스프링/스프링 클라우드 MSA 2024. 8. 5. 16:20

    Gateway에서 여러 서비스들을 라우팅하는데, /user, /order 기능 외에 다른 마이크로 서비스 기능이 생겼다고 가정할 때, 추가 시 동작을 멈추고 재시작이 아니라 동작하는 상태에서 라우팅을 추가하는 방식이 존재한다.

     

     

    필수 의존성 - Spring Boot Actuator

     

     

    Actuator는 스프링 어플리케이션의 기능을 엔드 포인트로 제공하는 의존성으로, 가동중인 스프링 클라우드 게이트웨이에 새로운 라우팅을 추가 및 삭제할 수 있다.

     

    server.port=8080
    spring.application.name=SCG
    
    management.endpoint.gateway.enabled=true # 특정 엔드포인트를 사용할 것이지
    management.endpoints.web.exposure.include=gateway # 어떤 항목을 사용할 것인지 - gateway

    의존성 주입 후 위와 같이 application.properties를 설정한다.

     

    이 프로젝트는 Eureka Server 등 아무런 설정을 하지 않았기 때문에 localhost:8080/actuator/gateway/routes로 접근할 때아무것도 뜨지 않는다.

     

     

    출처 : https://www.devyummi.com/page?id=668bb96a06cc3ded3bced8a8

    라우팅을 추가 및 삭제하는 명령어에 대해 정리해둔 블로그가 있어서 첨부했다.

     

     

    postman에 위와 같이 url과 JSON의 body를 넣고, 요청을 보낸다.

     

    201 응답이 오면 성공이다.

     

    추가한 뒤에 꼭 refresh를 POST 요청으로 보내고, 200 응답이 오면

     

     

    방금 추가한 인스턴스가 라우팅에 추가된다.

     

     

    삭제할 때에는 DELETE 요청을 보내면 되고, 이 때에도 refresh는 꼭 해줘야 한다.

     

     

    이를 통해 서버를 무중지 상태로 라우팅을 추가할 수 있으며, 액츄에이터는 다른 사람이 외부에서 간단하게 조작할 수 있으므로 실 서비스 시에는 security 설정을 무조건 잘 해줘야 한다.

Designed by Tistory.