How Slack Survived 2.3 Million Queries/Second During COVID
- Slack은 초기에 LAMP 스택과 MySQL 샤딩 아키텍처로 시작했으나, 사용자 증가와 대기업 고객 유입으로 병목 현상과 확장성 문제에 직면했습니다. 💡
- 기존 MySQL 툴링과의 호환성, 뛰어난 확장성, 장애 복구 기능, 오픈소스라는 장점 때문에 YouTube가 개발한 Vitess를 새로운 데이터베이스 스케일링 솔루션으로 채택했습니다. 🛠️
- RSS 피드 통합과 같은 작은 기능부터 시작하여 이중 쓰기/읽기 시스템과 메타데이터 서비스 리팩토링을 통해 점진적으로 Vitess로 전환하는 전략을 사용했습니다. 🐢
- Vitess 기반 아키텍처는 VTGate(프록시)가 요청을 라우팅하고, VTTablet(MySQL 서버)이 Keyspace로 구성되어 데이터베이스 그룹을 형성하며 확장성을 제공합니다. 🌐
- 2020년 3월, COVID-19 팬데믹으로 인해 Slack의 데이터베이스 쿼리가 일주일 만에 50% 이상 폭증하는 전례 없는 트래픽 급증을 경험했습니다. 🚀
- Vitess는 이러한 위기 상황에서 실시간으로 과부하된 데이터베이스를 분할하고 트래픽을 분산하는 수평적 확장을 가능하게 하여, 서비스 중단 없이 폭증하는 부하를 성공적으로 처리했습니다. 🛡️
- 3년간의 Vitess 전환 준비는 COVID-19 팬데믹이라는 예상치 못한 위기 상황에서 Slack이 붕괴하지 않고 서비스를 유지할 수 있었던 결정적인 요인이었으며, 데이터베이스 스케일링의 중요성을 보여주었습니다. ✅