01. MSA와 Event-Driven
- 독립성 : 격리된 영역에 대한 수행 영역을 의미. 다른 서비스와 구분된 단위
- 분리되어 있어 사용하는 DB도 분리되고 API를 통해서만 통신
- 단일 서버안에 모든 서비스가 들어가 있고 공유 데이터베이스를 사용한다.
- 전통적인 아키텍처임
- 한 서버안에서 모두 처리
- 각 도메인 별로 나뉘고, 그 서버마다 각자의 데이터베이스를 사용하고 각 서비스들끼리는 API를 통해서 통신
- 장점 :
- 단일 책임을 의미 = 높은 응집도 = 낮은 결합도
- 독립적인 개발과 배포
- 결함 격리 : 일부 서비스의 실패가 전체 서버의 실패를 의미하지 않게됨
- 네트워크 실패에 대한 처리를 고려해야 한다
- 서비스가 나눠져 있어 통합 테스트가 어렵다