Vitess로 결제 시스템 DB를 교체한 LINE의 기술 노하우 공개!

by DD
10개월 전
조회수 5

LINE Billing PlatformVitess로 DB를 마이그레이션하여 일 평균 30억 건의 결제 트랜잭션을 처리함

gRPC 대신 MySQL 프로토콜을 선택, VTOrc를 활용한 자동 장애 감지 및 복구 시스템 구축

VitessMySQL 호환성Two-Phase Commit 등 다양한 기능을 활용하여 시스템 안정성 확보

gRPC vs MySQL 프로토콜 선택 배경

Vitess에서 gRPC 프로토콜 사용 시 CPU 오버헤드가 발생하여 MySQL 프로토콜을 선택했다. 구체적으로, Java gRPC 클라이언트 사용 중 http2: frame too large 에러와 쿼리 결과 변환의 번거로움이 있었다. 따라서 MySQL 프로토콜을 활용하여 시스템 안정성을 확보했다.

Vitess 운영을 위한 모니터링 전략

VTOrc를 통해 장애 감지 및 자동 복구 시스템을 구축했다. Prometheus를 활용하여 VTOrc 지표를 수집하고, VTGateVTTablet 지표를 모니터링한다. 로그 분석을 위해 Vector를 사용하여 ERROR/FATAL 로그 발생 시 알람을 받도록 설정하여 장애 대응 능력을 향상시켰다.

Vitess 운영 시 DDL 수행 프로세스

Vitess의 DDL 수행비관리 방식관리 방식으로 나뉜다. 비관리 방식은 DBA가 직접 MySQL DDL을 수행하고, ReloadSchema 명령어로 Vitess에 반영한다. 관리 방식vitess 또는 mysql 전략을 사용하며, 온라인 DDL 지원 여부에 따라 선택한다. 따라서 DBA 역할 분담을 통해 시스템 안정성을 확보했다.

일 평균 30억 건을 처리하는 결제 시스템의 DB를 Vitess로 교체하기 - 2. 개발 및 운영기

댓글 0

첫 번째 댓글을 남겨보세요!