Skip to content

Commit f13a56a

Browse files
committed
Update Technology Post " 토스 SLASH 24 Server '분산 트랜잭션과 지속 가능한 마이그레이션 전략' 정리 "
- 지속 가능한 마이그레이션 전략 4-5단계 내용 정리
1 parent ce6cdf2 commit f13a56a

File tree

2 files changed

+24
-0
lines changed

2 files changed

+24
-0
lines changed

_posts/2025-09-24-Toss-Slash-24.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -310,6 +310,30 @@ SAGA 패턴을 도입한 이유는 다음과 같다.
310310
* `도메인 문서화`: 문서를 잘 작성하고 꾸준히 관리해야하는 이유는 마이그레이션이 일회성 작업이 아니라 지속적으로 관리되고 유지되어야 한다. 담당자가 바뀌더라도 빠르게 파악하고 최적화된 로직을 꾸준히 유지될 수 있도록 도와준다. 효과적으로 문서화를 하기 위해서는 글 뿐만 아니라 `다이어그램`을 활용하면 좋다.
311311
이는 팀원들이 쉽게 이해할 수 있고, 의사소통이 원활해지며 개발속도와 완성도가 높아진다. 또한 잘 작성된 문서화는 비즈니스 로직을 한 눈에 파악할 수 있게 되었다.
312312

313+
### 4단계. 구현
314+
315+
기존 코드가 복잡한 만큼 버그가 산재해있다.
316+
317+
버그를 수정하기 위해 연관된 모듈들을 분할 정복해야 한다. 이를 컴포지트 패턴 방법으로 해결한다.
318+
319+
모듈간 복잡도가 높다면 상위 모듈에 대한 분할정복 방식으로 리팩터링을 진행하여 하위 모듈을 흡수한다.
320+
321+
이를 통해 불필요한 로직을 제거하고 필요한 로직만 최적화한다.
322+
323+
### 5단계. 검증
324+
325+
분할정복 리팩터링 검증을 위한 기술은 아래와 같은 순서로 진행된다.
326+
327+
- 순서: Dispatch -> Parallel Execution -> Compare -> Validation
328+
329+
![](/assets/img/technology/slash/Toss-Slash-24-Migration-7.png)
330+
331+
개발자는 Alert 를 통해 비교 결과를 인지하고, 어드민의 모니터링을 통해 잘못된 부분을 인지하여 수정한다.
332+
333+
수정 이후에 정상 동작을 확인하기 위해 리플레이 기능을 이용한다. (리플레이 - 이벤트로 적재된 메타데이터를 HTTP 요청으로 다시 재연하는 걸 의미한다.)
334+
335+
검증에 성공하면 (1) 대상 선정하는 단계로 가고, 검증에 실패하면 (2) 분석 단계로 돌아간다.
336+
313337
## Review
314338

315339
이번 토스 SLASH 24 영상들을 통해 분산 트랜잭션의 복잡성과 대규모 시스템 마이그레이션 전략의 중요성에 대해 이해할 수 있었다.
158 KB
Loading

0 commit comments

Comments
 (0)