시작하기 앞서,
인프런 강의 및 다양한 블로그를 참고하여 MSA를 공부하면서 작성한 블로그임을 안내드립니다.
🔗 인프런 강의 소개
Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
CNCF의 주요 구성 요소로 다음 4가지를 언급

기존 모놀리식 아키텍처(Monolithic Architecture)는 하나의 프로젝트에 모든 기능을 담은 것을 의미한다. 코드 베이스가 커질수록 개발 및 배포가 복잡해진다.

마이크로서비스 아키텍처(Microservices Architecture)는 여러 개의 작은 서비스로 구성되며, 각 서비스가 독립적으로 개발 및 배포된다. 독립적인 개발 및 배포로 인해 확장성과 유지관리가 쉬워진다.

(1) 클라이언트 또는 다른 서비스가 다른 서비스를 호출
(2) 모든 호출에 대해서 API Gateway가 응답하며, API Gateway가 각 서비스의 주소를 호출
(3) 클라이언트 또는 다른 서비스는 API Gateway를 통해 요청했던 서비스를 응답 받음
💡 참고

※ Discovery, LB(Load Balancer) 등 아키텍처 구성이 다음 사진처럼 더 다양해질 수 있음.