Architecture & Design
시스템 아키텍처와 설계에 관한 의사결정과 경험을 공유합니다.
MSA, 우리에겐 과했다 - 모듈러 모놀리식 전환기
안녕하세요. 저는 프롭테크 플랫폼에서 백엔드 개발자로 근무 중인 정정일입니다. 저희 회사는 모놀리식 아키텍처로 이루어진 자바 서블릿 레거시 서비스를 MSA로 무중단 마이그레이션을 성공적으로 완료하고 운영 중에 있었습니다. 그 과정이 쉽지는 않았지만, MSA의 장점과 단점을 몸소 체험하면서 많은 것을 배울 수 있었죠. 이와 관련된 경험을 곱씹어 보면서 MSA...
2026년 2월 20일
[MSA에 관한 고찰 7/7편] 우리는 정말 MSA가 필요한가?
전편: [MSA에 관한 고찰 6/7편] 이벤트 기반 데이터 정합성 지금까지 6편에 걸쳐 MSA의 여러 측면을 살펴봤습니다. 서비스를 어떻게 나눌지, 어떻게 통신할지, 장애에 어떻게 대응할지, 데이터를 어떻게 분리하고 정합성을 맞출지까지요. 정말 여러분과 제가 실제로 한 팀에서 MSA를 선택하게 되면서 함께 문제를 맞이하고 고민하는 것처럼 느끼실 수 있게 이...
2026년 1월 22일
[MSA에 관한 고찰 6/7편] MSA에서의 이벤트 기반 데이터 정합성 문제 및 해결방법
전편: [MSA에 관한 고찰 5/7편] 데이터는 어떻게 분리해야 하는가 저번 편에서 저희는 MSA 환경에서 DB를 왜 분리해야 하는지, 그리고 분리했을 때 JOIN이 안 되는 문제를 어떻게 해결하는지 살펴봤습니다. API Composition과 데이터 복제라는 두 가지 방법이 있었죠. 그런데 “데이터 복제 방법을 선택했다” 고 해서 끝이 아닙니다. 여기서부...
2026년 1월 21일
[MSA에 관한 고찰 5/7편] MSA에서 데이터는 어떻게 분리해야 하는가
전편: [MSA에 관한 고찰 4/7편] 장애는 어떻게 전파되고, 우리는 어디서 끊어야 하는가 저번 편에서 저희는 MSA 환경에서 장애가 어떻게 전파되는지, 그리고 이를 막기 위한 여러 패턴들에 대해 살펴보았습니다. Timeout, Retry, Circuit Breaker까지 다양한 방법들이 있었죠. 하지만 아직 해야 할 고민이 훨씬 많이 남아있습니다. 2편...
2026년 1월 20일
[MSA에 관한 고찰 4/7편] 장애는 어떻게 전파되고, 우리는 어디서 끊어야 하는가
전편: [MSA에 관한 고찰 3/7편] MSA에서의 서비스간 통신 저번 편에서 저희는 MSA 환경에서 서비스 간 통신 방식에 대해 살펴보았습니다. REST, gRPC, 메시지 큐까지 다양한 선택지가 있었죠. 그런데 어떤 통신 방식을 선택하든, 분산 시스템에서 반드시 마주하게 되는 현실이 있는 것 같습니다. 바로 장애는 피할 수 없다는 점입니다. 저번 편에서...
2026년 1월 19일
[MSA에 관한 고찰 3/7편] MSA에서의 서비스간 통신 - 어떻게 해야 하는가
전편: [MSA에 관한 고찰 2/7편] MSA에서 서비스는 어떻게 나눌 것인가 저번 편에서 우리는 서비스를 어떻게 나눌 것인지, 경계 설정의 원칙과 주의점에 대해 살펴보았습니다. 실제로 MSA 환경에서 일하면서 가장 많이 고민했던 부분 중 하나가 바로 “서비스 간 통신” 이었습니다. 모놀리식에서는 메서드 호출 한 번이면 끝났던 일이, MSA에서는 생각보다 ...
2026년 1월 16일
[MSA에 관한 고찰 2/7편] MSA에서 서비스는 어떻게 나눌 것인가
전편: [MSA에 관한 고찰 1/7편] MSA(Microservices Architecture)란 무엇인가? 저번 편에서 MSA의 개념과 등장 배경, 그리고 여러 대안들에 대해 살펴보았습니다. MSA를 도입하기로 결정했다면, 이제 첫 번째 질문과 마주하게 됩니다. “서비스를 어떻게 나눌 것인가?” 이 질문이 왜 중요할까요? 솔직히 말씀드리면, 저는 이 문제...
2026년 1월 15일
[MSA에 관한 고찰 1/7편] MSA(Microservices Architecture)란 무엇인가?
개발을 하다보면 MSA(Microservices Architecture)에 대해 고민하는 순간들이 간혹 찾아온다고 생각합니다. 그런 순간마다 여러 고민에 빠지게 되죠. 저 역시 그 전에는 MSA에 대해 고민을 하게 되는 순간들이 있었습니다. 다만 사이드 프로젝트 수준, 혹은 개발 아티클에서 접하는 수준에서의 고민이었지 실제 업무에서 MSA 전환을 겪어본 적...
2026년 1월 14일
16개 레포지토리를 하나로 - MSA 멀티모듈 전환기
들어가며 안녕하세요. 저는 프롭테크 플랫폼에서 백엔드 개발자로 근무 중인 3년차 백엔드 개발자 정정일입니다. 저는 2025년 3월에 팀에 합류에 회사에 16개의 개별 Repository에서 관리되던 백엔드 프로젝트를 단일 Repository 기반의 멀티모듈 구조로 변경하는 과정을 가지게 됐습니다. 왜 이런 결정을 내렸고, 그 과정에서 어떤 현실적인 고민들이...
2025년 10월 16일
점진적 MSA 전환은 환상일까? - 사내 강결합 레거시 서비스와의 사투기
안녕하세요. 프롭테크 플랫폼에서 3년차 백엔드 개발자로 일하고 있는 정정일입니다. 저는 최근 3월 팀에 합류했고 많은 기업들이 그렇듯, 저희 팀도 더 나은 확장성과 유지보수성을 위해 레거시 서비스를 마이크로서비스 아키텍처(MSA)로 전환하는 대장정을 진행하고 있었습니다. 도메인별로 서비스를 착착 분리하고, 새로운 기술을 적용하며 점진적으로 시스템을 개선해나...
2025년 7월 21일