MSA(마이크로서비스 아키텍쳐)란
짧은 동영상 보기
- 복잡한 대형 소프트웨어를 작고 독립적인 여러 모듈로 나누어 개발하는 아키텍처이자 접근 방식
[https://youtu.be/3fV84IoUjJg]
장점
- 배포 주기가 짧아짐
- 분업화해서 서비스 제공 가능(개발은 개발팀, 추천은 추천팀)
한계점
- MSA를 이용한다고 하더라도 마이크로 서비스 간 API 요청이 잦아지고, Shared database가 생기기 시작하면, 본래의 장점인 낮은 결합도가 깨지고 커뮤니케이션 비용이 증가
- 결과적으로 배포 주기가 다시 느려지는 경향이 발생
Event-driven architecture
- 커뮤니케이션 비용을 최소화하면서 매우 높은 자유도로 개발을 할 수 있음
- 데이터의 흐림이 명확해짐
- 마이크로서비스 간 통신 시나리오가 단순해짐
장점
- 커뮤니케이션 비용을 최소화하면서 매우 높은 자유도로 개발할 수 있다
단점
트랜잭션
- DB의 상태를 변화시키기 위해서 수행하는 작업의 단위
- 쪼갤 수 없는 업무 처리의 최소 단위
Reference