[TIL] MSA 환경의 분산 트랜잭션 처리 패턴 - 2PC, SAGA
·
▪️CS 스터디
MSA(Microservice Architecture), 마이크로서비스 아키텍처란 하나의 서비스가 아닌 작고 독립적인 여러 개의 서비스로 나누어 개발하는 구조이며, 각 서비스는 독립된 데이터베이스를 가진다. 이와 반대되는 전통적인 개발 방식은 Monolithic Architecture로, 하나의 프로젝트에 모든 기능을 포함시킨 구조이다. 개발 초기에는 이 방식이 더 간단하고 빠르게 개발할 수 있지만, 코드가 길어지고 구조가 복잡해질수록 수정이나 확장이 어렵다는 단점이 있다. 그리고 수정할 때마다 전체 부분을 다시 배포해야 한다는 단점도 있다. 반면 MSA는 독립성을 보장하기에 유지보수와 관리에 용이하여 훨씬 많이 사용되고 있다. 그런데 이렇게 여러 개의 서비스로 나눠서 관리하면 데이터 일관성의 문제를..