Closed Mingyum-Kim closed 1 year ago
OpenFeign을 이용해서 여러 서비스 간의 통신을 수행하기 위해서는 하위 모듈 여러 개를 꼭 실행하고 있어야 하는 건가 ? 루트 프로젝트 Application 하나만을 실행하는 것으로 하위 모듈을 모두 활성화 하는것은 불가능한가 ?
MSA에서 루트 프로젝트는 게이트 웨이의 역할을 하고, 클라이언트 요청을 적합한 하위 서비스로 라우팅한다. 루트 프로젝트를
@EnableEurekaClient
을 사용해 유레카 클라이언트로 등록하고, 하위 모듈을@ComponentScan
을 통해 활성화시킬 수 있다.
@SpringBootApplication
@EnableEurekaClient
@ComponentScan(basePackages = {"com.example.submodule1", "com.example.submodule2"})
public class RootApplication {
public static void main(String[] args) {
SpringApplication.run(RootApplication.class, args);
}
}
새로 알게 된 점 (1) Eureka Server은 새로 등록한 Client의 정보를 입수하려면 rerun 해야한다. (2) Eureka Server에 Client를 등록하기 위해서는 Application을 모두 켜야한다. 하위 모듈도 포함이다. (3) 한 번 등록한 Client가 여전히 Server 내에 있고, Eureka Client 설정 정보를 없앤 상태에서 Client를 실행하면 오류가 발생한다.
🖤 설명
MSA 구조에서 Post의 작성자로 Member의 정보를 저장하기 위해 엔드포인트를 호출하는 OpenFeign을 설정한다.
⭐체크리스트
❗ 주의 사항