MSA 에서의 Feign 클라이언트 사용여부

CosmoNumb·2024년 8월 7일
0

MSA

목록 보기
8/13

@EnableFeignClients 어노테이션은 Spring Cloud OpenFeign을 사용하여 다른 마이크로서비스와 통신하기 위해 필요한 클라이언트 인터페이스를 활성화합니다. 이 어노테이션은 Feign 클라이언트를 사용하는 서비스에 필요합니다.

각 서비스에 @EnableFeignClients를 사용할지 여부는 해당 서비스가 다른 서비스와 통신할 때 Feign 클라이언트를 사용할 필요가 있는지에 따라 결정됩니다.

Feign 클라이언트가 필요한 경우

  • Product 서비스Order 서비스는 서로 간에 데이터를 주고받을 필요가 있을 수 있으므로, Feign 클라이언트를 사용하여 서로 통신하도록 설정할 수 있습니다. 이 경우 @EnableFeignClients 어노테이션을 추가해야 합니다.
  • Auth 서비스Gateway 서비스는 일반적으로 Feign 클라이언트를 사용할 필요가 없습니다. Auth 서비스는 주로 인증 및 권한 부여 기능을 담당하고, Gateway 서비스는 요청을 라우팅하고 필터링하는 역할을 하기 때문입니다.

각 서비스별 어노테이션 정리

  1. Eureka Server

    • 어노테이션: @EnableEurekaServer
    • 역할: 서비스 디스커버리 및 레지스트리
  2. Product 서비스

    • 어노테이션: @SpringBootApplication, @EnableFeignClients
    • 역할: 상품 관리 및 Feign 클라이언트를 통한 다른 서비스와의 통신
  3. Order 서비스

    • 어노테이션: @SpringBootApplication, @EnableFeignClients
    • 역할: 주문 관리 및 Feign 클라이언트를 통한 다른 서비스와의 통신
  4. Auth 서비스

    • 어노테이션: @SpringBootApplication
    • 역할: 사용자 인증 및 토큰 발급
    • Feign 클라이언트 사용 여부: 필요 없음 (현재 요구사항 기준)
  5. Gateway 서비스

    • 어노테이션: @SpringBootApplication
    • 역할: 요청 라우팅 및 필터링
    • Feign 클라이언트 사용 여부: 필요 없음 (현재 요구사항 기준)

결론

  • Product 서비스Order 서비스는 다른 서비스와의 통신을 위해 Feign 클라이언트를 사용하므로 @EnableFeignClients 어노테이션을 사용합니다.
  • Auth 서비스Gateway 서비스는 요구사항에서는 Feign 클라이언트를 사용할 필요가 없으므로 해당 어노테이션을 사용하지 않습니다.

0개의 댓글