MSA가 좋지만은 않은 이유
마이크로서비스 아키텍처(MSA)
의 목표는 하나의 거대한 서비스를 일정한 기준으로 쪼갠 여러 stand-alone 서비스로 구동하여 각 애플리케이션의 복잡도와 이들 간의 결합도를 낮춤으로써 궁극적으로는 전체 시스템을 좀 더 생산적으로 개발하고 운영하는 것이라고 볼 수 있다.
마이크로서비스 아키텍처(MSA)
의 목표는 하나의 거대한 서비스를 일정한 기준으로 쪼갠 여러 stand-alone 서비스로 구동하여 각 애플리케이션의 복잡도와 이들 간의 결합도를 낮춤으로써 궁극적으로는 전체 시스템을 좀 더 생산적으로 개발하고 운영하는 것이라고 볼 수 있다.
본 글에서는 Spring 애플리케이션 시작 도중, 혹은 시작 직후에 특정 로직이 실행되도록 하기 위한 다양한 방법을 알아본다.
@ConfigurationProperties
는 Spring Boot 에서 properties 파일에 정의된 프로퍼티 중 주어진 prefix 를 가지는 프로퍼티들을 POJO 에 매핑하여 Bean 으로 만들수 있게 해주는 어노테이션이다.
그럼 @ConfigurationProperties 의 다양한 쓰임새에 대해 알아보자.
Spring 과 Spring Boot 에서 프로퍼티를 세팅하고 사용하는 방법을 알아보자
Profiles 을 사용하면 애플리케이션이 실행되는 환경에 따라 다른 Bean 들을 매핑할 수 있다.
예를 들어, 개발 환경, 스테이징 환경, 혹은 실 서비스 환경에 따라 다른 의존성을 주입할 수 있다.
Spring 의 REST Client 인 RestTemplate
에 대해 알아보자