목록 보기
회원 시스템 MSA 전환 도전기: MAU 1,900만 당근 유저를 위한 선택
아키텍처

회원 시스템 MSA 전환 도전기: MAU 1,900만 당근 유저를 위한 선택

당근마켓
당근마켓
2024년 8월 6일

두줄요약

당근의 회원·인증 시스템을 MSA로 분리한 과정을 소개했습니다. 레거시 분석, 신규 DB 재설계, Dual-Write와 Rollout으로 무중단 전환을 진행했습니다.

문제 상황

  • MAU 1,900만 규모의 회원·인증 기능이 중고거래 서비스에 묶여 있어 복잡도와 장애 영향 범위가 커진 상태
  • 관련 없는 배포 블록과 정책 변경이 다른 서비스 개발 생산성까지 저해하는 상황
  • 레거시 문서 부재와 오래된 코드로 인해 회원 라이프사이클 파악이 어려운 상태

원인 분석

  • 회원·인증 로직이 초기 서비스에 함께 존재하며 정책 변경이 누적된 구조
  • 오래된 코드와 누락된 문서로 인해 실제 동작과 이해 사이의 차이 발생
  • 기존 테이블 구조가 확장 요구를 수용하기 어려운 상태

해결 방법

  • 회원·인증 시스템을 완전히 독립된 서비스로 분리하고 데이터와 비즈니스 로직을 함께 재설계
  • 레거시 분석을 위해 회원 라이프사이클 정답지와 로그 지표를 구축해 동작을 검증
  • 신규 DB는 스키마 재설계와 Protobuf 기반 명세 관리로 확장성과 유지보수성을 확보

성능/운영 포인트

  • Dual-Write와 데이터 마이그레이션 Job으로 레거시와 신규 DB 정합성 관리
  • 프록시 사이드카로 트래픽을 가로채고 레거시 응답을 유지한 채 신규 DB에 동시 기록
  • 응답 Shadowing, 점진적 Rollout, 슬랙 리포트와 모니터링으로 무중단 전환 지원

다음 읽기

#MSA 주제를 이어서 읽기

천만 MAU를 지탱하는 커뮤니티 시스템을 소개해요

천만 MAU를 버티기 위한 커뮤니티 시스템의 구조와 선택을 소개했습니다. 웹앱과 서버앱, 모듈과 이벤트 분리로 확장성과 운영성을 함께 확보한 사례입니다.

당근마켓
당근마켓
아키텍처

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...