(5화) 전세계 커뮤니티들의 플랫폼, Discord
디스코드는 처음으로 성장하기 시작했다.
그리고 바로 그 순간, 또 다른 문제가 나타났다.
이번에는 실패가 아니라 성공 때문이었다.......
레딧을 통해 퍼진 디스코드는 예상보다 훨씬 빠른 속도로 사용자가 늘어나고 있었다.
처음에는 불과 몇 명이었다.
그다음에는 수십 명.
며칠 뒤에는 수백 명.
그리고 어느 순간부터는 숫자를 세는 속도가 서버가 늘어나는 속도를 따라가지 못했다.
사용자 그래프는 가파르게 올라가고 있었다.
샌프란시스코의 작은 사무실에서 제이슨 시트론과 스탄 비슈네프스키는 대시보드를 바라보고 있었다.
몇 달 전만 해도 페이츠 포에버의 사용자 그래프는 아래로 떨어지고 있었다.
하지만 지금은 정반대였다.
그래프가 위로 올라가고 있었다.
그리고 그 속도는 점점 더 빨라지고 있었다.
제이슨은 한동안 화면을 바라보다가 냉장고에서 샴페인 한 병을 꺼냈다.
회사에 다시 생명이 돌아오고 있었다.
하지만 그 순간이었다.
사무실 한쪽에서 날카로운 경고음이 울렸다.
삐이익.
메인 서버 모니터링 화면이 빨갛게 변했다.
스탄이 노트북을 확인했다.
그리고 얼굴이 굳었다.
“제이슨.”
그가 말했다.
“상황이 좋지 않아.”
제이슨이 물었다.
“무슨 일이야.”
스탄이 화면을 가리켰다.
“사용자가 너무 빠르게 늘고 있어.”
CPU 사용률이 급격히 올라가고 있었다.
서버 트래픽이 한계를 향해 치솟고 있었다.
이대로라면 서버가 버티지 못할 수도 있었다.
아이러니하게도 문제는 실패가 아니라 성공이었다.
디스코드는 여전히 작은 스타트업이었다.
수백만 명의 동시 접속을 처리할 만큼 거대한 인프라를 준비해 둔 회사가 아니었다.
지금 서버에 몰려드는 트래픽은 그들이 예상했던 규모보다 훨씬 컸다.
만약 서버가 한 번 크게 다운된다면 상황은 심각해질 수 있었다.
게이머들은 인터넷 서비스에 대해 매우 까다로운 사용자들이다.
음성이 끊기거나 서버가 자주 멈추면 바로 다른 프로그램으로 이동한다.
디스코드의 가장 큰 장점은 끊김 없는 가벼운 음성 채팅이었다.
그 장점이 무너지는 순간 사용자들도 함께 떠날 수 있었다.
제이슨은 잠시 모니터를 바라보다가 말했다.
“우리가 지금 멈출 수는 없지.”
스탄이 고개를 끄덕였다.
“그럼 시스템을 다시 짜야 해.”
문제는 단순히 서버를 몇 대 더 추가하는 것으로 해결되지 않았다.
시스템 구조 자체가 작은 규모의 서비스를 기준으로 만들어져 있었기 때문이다.
수십만 명, 수백만 명의 사용자가 동시에 연결되는 환경을 안정적으로 처리하기에는 구조적인 한계가 있었다.
그래서 엔지니어들은 완전히 다른 선택을 하기로 했다.
통신 시스템에 가까운 아키텍처를 사용하기로 한 것이다.
그 과정에서 등장한 기술이 있었다.
Erlang과 Elixir였다.
이 언어들은 일반적인 웹 서비스보다는 통신 시스템에서 더 많이 사용되는 기술이었다.
대형 전화 교환기 같은 시스템에서 수백만 개의 연결을 동시에 처리하기 위해 만들어진 구조였다.
수많은 연결이 동시에 유지되면서도 안정적으로 작동하는 시스템.
디스코드가 필요로 하던 바로 그 구조였다.
엔지니어들은 며칠 동안 거의 잠을 자지 못했다.
기존 서버 구조를 여러 개의 독립된 시스템으로 분리하고 음성 채널들이 서로 간섭하지 않도록 설계를 다시 했다.
서비스를 완전히 중단할 수는 없었기 때문에 작업은 더 어려웠다.
달리는 자동차의 엔진을 멈추지 않고 교체하는 것과 비슷한 일이었다.
며칠 뒤.
모니터링 그래프가 조금씩 안정되기 시작했다.
트래픽은 여전히 빠르게 늘고 있었지만 서버는 더 이상 무너지지 않았다.
그 순간부터 디스코드는 완전히 다른 단계로 들어가기 시작했다.
처음 디스코드는 단순한 게이머용 음성 채팅 프로그램이었다.
리그 오브 레전드나 월드 오브 워크래프트 같은 게임을 플레이하는 사람들이 함께 이야기하기 위한 도구였다.
하지만 시간이 지나면서 흥미로운 일이 일어나기 시작했다.
사람들이 게임이 끝난 뒤에도 디스코드를 끄지 않았던 것이다.
그들은 서버 안에 남아 계속 이야기를 나누었다.
게임 이야기가 끝나면 다른 이야기를 했다.
유튜브 영상을 공유하기도 했고 밈을 올리기도 했고 일상적인 대화를 이어가기도 했다.
디스코드는 점점 단순한 음성 채팅 도구가 아니라 사람들이 모여 있는 공간으로 변하고 있었다.
처음에는 게이머들이었다.
하지만 조금씩 다른 사람들이 들어오기 시작했다.
개발자 커뮤니티가 생겼다.
팬 커뮤니티가 생겼다.
유튜버 팬덤도 디스코드를 사용하기 시작했다.
작은 온라인 동아리 같은 서버들도 등장했다.
사람들은 디스코드를 단순한 채팅 앱이 아니라
자신들만의 공간처럼 사용하기 시작했다.
서버는 일종의 디지털 방이 되었다.
친구들이 모이는 방.
팬들이 모이는 방.
개발자들이 토론하는 방.
이 작은 채팅 앱은 점점 더 큰 의미를 가지기 시작했다.
게이머들의 음성 채팅 프로그램이 아니라
인터넷 위에 만들어진 커뮤니티 공간.
그 변화는 회사가 계획한 것이 아니었다.
사용자들이 스스로 만들어 낸 변화였다.
그리고 그 변화는 아직 시작에 불과했다.