**strangler-fig 패턴(교살자 무화과 패턴)**은 점진적으로 마이그레이션합니다. 모놀리스를 라우팅 계층으로 감싸고, 한 번에 하나의 기능을 서비스로 추출하며, 트래픽을 그쪽으로 돌립니다. 모놀리스가 "교살"되어 사라질 때까지요. 일괄 재작성(big-bang rewrite)은 없습니다.
동작 방식
text
1단계: 모든 트래픽을 파사드/프록시를 통해 모놀리스로 라우팅
2단계: 하나의 기능 추출 → 새 서비스
3단계: 그 경로만 새 서비스로 라우팅
4단계: 반복; 그 코드를 모놀리스에서 삭제
Client ─▶ [ Proxy ] ─┬─▶ /orders ─▶ NEW Orders service
└─▶ 그 외 전부 ─▶ Monolith
무엇을 먼저 추출할지
text
✓ 명확한 경계를 가진 bounded context
✓ 독립적 확장이나 배포가 필요한 것
✓ 인바운드 의존성이 적은 부분(저위험)
✗ 얽힌 핵심부터 시작하지 말 것
공유 데이터 처리
어려운 부분은 데이터베이스입니다. 서비스의 테이블을 추출한 다음, 이벤트나 anti-corruption layer를 사용해 공유 DB 결합을 끊습니다. 둘 다 실행되는 동안 종종 기법을 통해 이루어집니다.
