반응형
Spring Cloud 란?
https://spring.io/projects/spring-cloud
- 스프링 클라우드란 프록시, 서비스 검색, 서비스간 호출 등 여러 공통 패턴을 분산 시스템에서 동작할 수 있도록 도와주는 스프링 부트 기반 프레임워크이다.
등장 배경
기존 모노리식 아키텍쳐의 한계를 극복하기 위해서 마이크로서비스 아키텍처를 채택하고 있다. 이전에도 MSA와 유사한 SOA(Service Oriented Architecture)가 등장하였지만, 분산처리 환경에서 ESB(Enterprise Service Bus)를 사용하여 중앙에서 서비스 간 통신을 담당했다. SOA는 ESB의 부하 중앙 집중 문제가 발생하여 사용되지 않으며, 통신 서비스 간 독립적으로 흐름을 제어하는 MSA가 등장하게 되었고, 클라우드를 기반으로 개발 생산성을 높이기 위해 스프링 클라우드가 출시 되었다.
스프링 클라우드 구성도
- Service Discovery : 서로 다른 서비스들의 ip와 port 정보에 대해서 저장하고 관리해주는 역할
- Gateway : API Gateway로 라우팅 및 보안, 모니터링/메트릭 등의 기능을 제공하여 동적 라우팅을 통한 테스트 및 교체 작업이 가능해진다.
- config : 분산된 환경에서 설정 파일을 외부로 분리할 수 있도록 도와주어 개발, 운영, 테스트 환경에서 구성을 간편하게 관리할 수 있다. 즉, 설정이 바뀔 때마다 빌드와 배포가 필요 없는 구조로 구성할 수 있다.
Reference
https://freedeveloper.tistory.com/469
https://m.post.naver.com/viewer/.nhn?volumeNo=28641086&memberNo=36733075&vType=VERTICAL
https://madplay.github.io/post/introduction-to-spring-cloud-config
반응형