yozm.tech
피드로 돌아가기
news.hada.ioHOTAI 재작성

Canva는 어떻게 수억 건의 사용자 세션을 빠르고 안전하게 유지할까?

Canva는 초당 수십만 건의 요청을 처리하는 수억 명의 사용자 세션을 검증하는 과정에서, 게이트웨이가 MySQL에서 대량의 취소 기록을 읽는 병목 현상을 겪었습니다. 이를 해결하기 위해 최근 12시간의 취소 기록을 30분 단위 S3 객체로 나누고, 각 기록을 16바이트로 압축해 게이트웨이가 S3에서 직접 이진 탐색하도록 시스템을 전환했습니다. 이로써 배포 속도가 빨라지고 메모리 사용량이 87.5% 감소하는 등 효율성이 크게 향상되었습니다.

6시간 전·2026.08.05·읽기 1·neo https://news.hada.io/user/neo

Canva(캔바)는 초당 수십만 건의 요청이 쏟아지는 수억 명의 사용자 세션을 빠르고 안전하게 검증해야 하는 과제에 직면했습니다. 기존에는 수백 개의 게이트웨이가 배포될 때마다 MySQL 데이터베이스에서 100만 건 이상의 세션 취소 기록을 읽어오는 과정에서 심각한 병목 현상이 발생했습니다. 이는 배포 속도를 저해하고 데이터베이스에 과도한 부하를 주어 시스템 전반의 효율성을 떨어뜨리는 주된 원인이었습니다.

이 문제를 해결하기 위해 Canva는 혁신적인 접근 방식을 도입했습니다. 최근 12시간 동안의 세션 취소 기록을 30분 단위의 S3 객체로 분할하고, 각 취소 기록을 16바이트로 압축 및 정렬하여 저장했습니다. 게이트웨이는 시작할 때 필요한 최신 청크(chunk)만 S3에서 다운로드하고, 이후 변경된 청크만 조건부 GET 요청으로 갱신합니다. 이 과정에서 게이트웨이는 다운로드한 바이트 배열에서 직접 이진 탐색을 수행하여 특정 세션의 취소 여부를 빠르게 확인합니다. 또한, 비동기 워커(worker)가 새로운 취소 기록을 배치(batch)로 S3에 반영하며, S3 조건부 PUT(조건부 쓰기)과 낙관적 동시성 제어(optimistic concurrency control)를 통해 여러 워커 간의 갱신 유실을 방지합니다.

이러한 시스템 전환은 여러 면에서 긍정적인 결과를 가져왔습니다. 우선, 배포 시간이 크게 단축되었고, 세션 취소 데이터베이스의 읽기 복제본(read replica)은 이중화(redundancy)를 위한 2개만 남게 되어 데이터베이스 부하가 현저히 줄었습니다. 또한, 게이트웨이의 메모리 사용량은 87.5% 감소했으며, 단일 워커도 초당 2,000건 이상의 쓰기 처리량(write throughput)을 달성하는 등 시스템의 전반적인 효율성과 안정성이 크게 향상되었습니다. 이 사례는 대규모 분산 시스템에서 데이터 저장 및 접근 방식을 최적화하는 중요성을 잘 보여주며, 비용 효율적이면서도 강력한 내구성을 제공하는 S3의 잠재력을 입증합니다.

1인 창업자를 위한 기회 분석
AI 분석 · 참고용이며 검증이 필요합니다
3/10
약한 신호
3점인가

대규모 시스템의 특정 기술 최적화 사례로, 일반적인 1인 창업자가 직접적인 사업 기회로 삼기에는 난이도가 높고 시장 진입 장벽이 있습니다.

문제 / 미충족 수요

대규모 사용자 세션 관리 시스템에서 발생하는 데이터베이스 병목 현상과 높은 운영 비용 문제가 존재합니다.

한국 시장
국내 있음한국에서도 대규모 트래픽을 처리하는 서비스는 유사한 세션 관리 문제를 겪을 수 있으나, 대부분 자체 개발하거나 기존 솔루션을 사용합니다.
수익 모델

B2B SaaS 구독 · 돈 내는 주체: 대규모 사용자 트래픽을 처리하는 웹/모바일 서비스 기업

1인 실현 가능성
2/5

Canva와 같은 대규모 시스템에 필요한 아키텍처는 1인이 구축하기에는 복잡하고 대규모 트래픽 처리에 대한 경험이 필요합니다.

진입 지점 (Wedge)

특정 산업군(예: 게임, 이커머스)의 중소기업을 위한 세션 관리 및 인증 최적화 솔루션 제공

이번 주 첫 실험

세션 관리 병목을 겪는 잠재 고객 5곳을 인터뷰하여 구체적인 문제점과 현재 해결 방식을 파악합니다.

Original source
이 글은 news.hada.io의 기사를 yozm.tech가 한국어로 재작성한 버전입니다.
원문 보기