
Headless CMS를 위한 변경 데이터 캡쳐(CDC) 기술 설계하기
두줄요약
헤드리스 CMS에서 다국어와 연관 관계를 고려한 CDC 설계 경험을 공유했습니다. 순서 보장과 트랜잭션 분리를 통해 대량 변경을 안정적으로 처리했습니다.
문제 상황
- 헤드리스 CMS LandPress Content에서 대량의 생성·수정·삭제 변경을 안정적으로 추적할 CDC 설계 필요
- 다국어 데이터와 연관 관계 데이터까지 포함하면 실제 변경 지점 식별이 복잡해지는 구조
구조와 흐름
- 변경 감지 후 예상 변경점 식별, 데이터 캡처, 전후 비교를 거쳐 실제 변경만 선별하는 흐름
- 변경 대상 데이터, 다른 언어 데이터, 연관 관계를 빼앗긴 데이터, 영향받을 가능성이 있는 데이터, 확정적으로 영향받는 데이터까지 고려
성능/운영 포인트
- 사용자 요청 트랜잭션 안에서는 중복 조회를 줄여 응답 지연 최소화
- 실제 변경 비교는 트랜잭션 밖에서 수행해 응답 대기 시간 완화
- Kafka 파티셔닝 병렬 처리에서 순서 보장 문제를 해결하기 위해 동일 아이템 단위의 순서 보장 구조로 변경
적용해볼 점
- 생성·수정은 변경 이후 값, 삭제는 변경 이전 값 기준으로 캡처하는 방식 적용
- 연관 관계 조회 시 최소 식별 정보만 활용해 불필요한 데이터 수집을 줄이는 방식 고려
- 검색 엔진 등 후속 파이프라인에서는 이벤트 순서 보장 여부를 우선 점검


