▶ MSA

✨ 모놀리틱 vs MSA

모놀리틱 아키텍처 (Monoliithic) MSA
구조 형태 모든 기능이 하나의 프로젝트 기능별로 작게 분할 된 서비스들의 조합
배포 방식 작은 수정에도 전체 어플리케이션을 다시 빌드하고 배포해야 함 변경된 특정 서비스만 개별적으로 배포 가능.
( 프로그램 전체를 재실행 x )
확장성 전체 어플리케이션 서버를 통째로 복제하여 확장 트래픽이 몰리는 특정 서비스만 개별적으로 확장 가능
장애 영향도 특정 모듈의 오류가 전체 시스템의 다운으로 이어질 수 있음. 독립적으로 분리하여 장애 범위를 최소화 하지만
서비스 간 호출이 복잡해지면 연쇄장애 발생할 수 있음
초기 개발 속도 환경 설정과 통합이 단순하여 빠르다 서비스 분할 설계, 설정 등으로 인해 초기 구축 속도 느림

▶ Spring Cloud

https://spring.io/cloud

https://spring.io/cloud

서비스 디스커버리 (Service Discovery)

동적으로 생성/소멸되는 마이크로서비스의 위치(IP , Port)를 이름 기반으로 찾고 등록하는 매커니즘

로드밸런싱

여러 독립된 서비스 인스턴스에 트래픽을 분산하여 시스템 안정성을 높이는 기술

종류 : 클라이언트 사이드 로드 밸런싱 / 서버 사이드 로드 밸런싱

서킷 브레이커

특정 서비스에 장애가 발생했을 때 연쇄적인 시스템 마비를 막아주는 핵심 디자인패턴

장애 서비스로의 요청을 즉시 차단하여 시스템 전체의 신뢰성을 높인다.