피드로 돌아가기
LINE 앱의 다자간 대화 기능 통합
LINE Engineering
Backend

LINE 앱의 다자간 대화 기능 통합

LINE이 독립적으로 운영되던 '여러 명과의 대화'와 '그룹' 두 기능을 '그룹 대화'로 통합해 동일 구성원 중복 생성 비율을 15%에서 0.78%로 감소

2026년 3월 17일8intermediate

Context

LINE 앱에서 일시적 대화용 '여러 명과의 대화'와 장기 대화용 '그룹'이 분리되어 운영되면서 API, 스토리지, 기능 지원이 각각 다르게 구현되었습니다. 사용자들은 여러 명과의 대화에서 필요한 기능(앨범, 메모)을 찾지 못해 대화 기록을 남긴 채 새로운 그룹을 생성했고, 동일한 구성원으로 이루어진 중복 대화방이 계속 누적되었습니다. 이는 대화 목록의 길이 증가, 불필요한 서버 데이터 축적, 사용자 경험 악화로 이어졌습니다.

Technical Solution

  • 기존 그룹 모델을 기반으로 새로운 통합 모델 '그룹 대화(Group Chat)' 설계: 통합 후 대화 참여 방식을 제외한 모든 사양을 동일하게 통일
  • 그룹 마이그레이션 시 이중 읽기(dual read) 패턴으로 점진적 전환: 라우터를 통해 기존 API와 신규 API 간 호환성 유지 후 단계적으로 그룹 대화 API 비중 증가
  • 배치 처리로 전체 그룹 데이터를 그룹 대화 데이터로 일괄 마이그레이션: 이중 읽기 종료 후 그룹 대화만 사용
  • 초대 메커니즘 선택 가능화: 신규 대화 생성 시 즉시 참여 또는 수락/거절 선택을 UI에서 선택 가능하도록 변경
  • 신규 대화 생성 워크플로에 기존 대화방 힌트 표시 기능 추가: 동일한 구성원으로 기존 대화방이 있을 경우 안내해 중복 생성 방지

Impact

  • 동일한 구성원으로 생성되는 대화방의 비율: 여러 명과의 대화 15% → 초대 없는 그룹 대화 0.78%로 감소

Key Takeaway

복수의 독립적으로 진화한 시스템을 통합할 때 이중 읽기 패턴과 점진적 마이그레이션을 조합하면 사용자 경험 저하 없이 기술 부채를 정리할 수 있습니다. 또한 사용자 행동 데이터(동일 구성원 중복 생성)를 분석해 통합의 우선순위를 정하고 효과를 정량적으로 검증하는 접근이 중요합니다.


레거시 시스템과 신규 시스템이 공존해야 하는 마이그레이션 프로젝트에서 라우터 레이어의 이중 읽기 패턴을 도입하면 기존 사용자에게 영향을 최소화하면서 신규 시스템 검증과 단계적 전환이 가능합니다. 특히 배치 처리로 데이터를 사전 마이그레이션한 후 읽기 로직을 전환하면 다운타임과 데이터 불일치 위험을 크게 줄일 수 있습니다.

원문 읽기