
백엔드
캐치테이블 글로벌 버전, MAU 두 배 성장의 비결! 다국어 서비스 개발기
두줄요약
캐치테이블 글로벌은 번역 마이크로서비스와 검수 어드민을 도입해 다국어 레이어를 구축했습니다. 또한 AWS DMS CDC와 Kafka를 활용해 기존 도메인 변경을 중앙에서 번역 요청하도록 설계했습니다.
핵심 내용
- 캐치테이블 글로벌의 다국어 서비스 레이어 구축 사례
- 번역 마이크로서비스와 검수 어드민을 결합한 번역 프로세스
- Kafka 비동기 번역과 REST 동기 번역의 이중 연동 구조
- AWS DMS CDC로 기존 도메인 변경을 감지해 번역 요청을 중앙화
구조와 흐름
- 번역 요청 시 domainKey와 requestKey로 멱등성 및 순서 관리
- 비동기 번역은 콜백 URL로 결과 전달 후 검수 상태에 따라 재갱신
- 리뷰·매장 데이터 변경은 CDC 이벤트를 컨슈머 한 곳에서 수집해 처리
선택 이유
- 도메인별 품질 요구가 달라 자동 번역과 검수형 번역을 분리할 필요
- 기존 코드 전반을 수정하지 않고 번역 레이어를 붙이기 위한 중앙집중 구조 필요
- 대량 요청과 외부 번역 API 속도 제한에 대응하기 위한 비동기 처리 필요
장단점
- 장점: 번역 품질 관리, 실시간 반영, 대량 요청 방어, 유지보수 단순화
- 단점: 비동기 연동 복잡도 증가, CDC용 복제 인스턴스와 binlog 부하 발생
적용해볼 점
- 번역·검수·업데이트를 분리한 서비스 구조 설계
- 변경 감지를 위해 CDC와 Kafka를 활용하는 중앙 처리 방식
- 도메인 특성에 따라 동기/비동기 인터페이스를 분리하는 접근
