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

서비스 디스커버리 (Service Discovery)
동적으로 생성/소멸되는 마이크로서비스의 위치(IP , Port)를 이름 기반으로 찾고 등록하는 매커니즘
여러 독립된 서비스 인스턴스에 트래픽을 분산하여 시스템 안정성을 높이는 기술
종류 : 클라이언트 사이드 로드 밸런싱 / 서버 사이드 로드 밸런싱
특정 서비스에 장애가 발생했을 때 연쇄적인 시스템 마비를 막아주는 핵심 디자인패턴
장애 서비스로의 요청을 즉시 차단하여 시스템 전체의 신뢰성을 높인다.