Tammy Logo

디스코드의 대규모 메시지 처리 방법

디스코드는 Elixir와 Python을 사용하여 대규모 실시간 이벤트를 처리하고, 안정적이고 신뢰성 높은 시스템을 구축하고 있습니다. 이 기사에서는 디스코드가 10조 개의 메시지를 저장하는 방법에 대해 살펴봅니다.

디스코드의 기술 스택

Discord는 Elixir와 Python을 사용하여 대규모 실시간 이벤트를 처리한다.

Elixir는 Erlang VM에서 실행되는 함수형 프로그래밍 언어로, 안정적이고 신뢰성이 높다.

Erlang은 통신 시스템에 사용되는 안정적이고 견고한 시스템을 구축하는 데 사용되며, Ericson axd 301 ATM 스위치 등에서 신뢰성을 입증받았다.

디스코드의 인프라 구성

디스코드는 500대의 Elixir 머신을 운영하며 수천만 개의 메시지를 처리하고 1200만 명의 동시 사용자를 다루고 있다.

디스코드의 채팅 인프라 팀은 5명의 엔지니어로 구성되어 있지만, Elixir와 Erlang VM의 안정성을 입증하고 대규모 동시성을 다루고 있다.

Airline 프로세스는 가벼우며 격리되어 있어 대규모 동시성을 가능케 한다.

데이터베이스 전환

디스코드는 몽고디비에서 카산드라로 이전하였고, 미래에 다른 데이터베이스로 이전할 예정이다.

디스코드는 빠르게 제품 기능을 테스트하고 론칭하기 위해 빠르게 빌드하며, 더 견고한 솔루션으로의 이전 경로를 항상 고려한다.

디스코드는 1억 개의 메시지에 도달하면서 데이터와 인덱스가 RAM에 맞지 않게 되어 데이터베이스 이전이 필요하게 되었다.

성능 향상과 데이터 이동

데이터 이동 속도가 3개월에서 9일로 단축되었음.

Cassandra 노드 수가 줄어들고, 데이터 읽기 및 쓰기 시간이 현저히 단축됨.

성능 향상으로 역사적인 메시지를 빠르게 처리할 수 있게 되었음.

FAQ

디스코드는 어떤 프로그래밍 언어를 사용하나요?

디스코드는 Elixir와 Python을 주로 사용합니다.

디스코드는 얼마나 많은 동시 사용자를 다룰 수 있나요?

디스코드는 1200만 명의 동시 사용자를 다룰 수 있습니다.

디스코드의 데이터베이스는 무엇인가요?

디스코드는 현재 카산드라를 사용하고 있으며, 미래에 다른 데이터베이스로 이전할 예정입니다.

데이터 이동 속도가 왜 단축되었나요?

데이터 이동 속도가 단축된 이유는 성능 향상으로 인한 것입니다.

디스코드의 채팅 인프라 팀은 몇 명으로 구성되어 있나요?

디스코드의 채팅 인프라 팀은 5명의 엔지니어로 구성되어 있습니다.

디스코드의 Airline 프로세스는 무엇인가요?

Airline 프로세스는 가벼우며 격리되어 있어 대규모 동시성을 가능케 합니다.

디스코드의 데이터와 인덱스가 RAM에 맞지 않게 된 이유는 무엇인가요?

디스코드가 1억 개의 메시지에 도달하여 데이터와 인덱스가 RAM에 맞지 않게 되었기 때문에 데이터베이스 이전이 필요하게 되었습니다.

Cassandra 노드 수가 줄어든 결과는 무엇인가요?

Cassandra 노드 수가 줄어들고, 데이터 읽기 및 쓰기 시간이 현저히 단축되었습니다.

핫 파티션 문제를 해결하기 위해 무엇을 만들었나요?

데이터 서비스를 만들어 핫 파티션 문제를 해결했습니다.

디스코드의 빌드 속도를 빠르게 하기 위해 무엇을 고려하나요?

디스코드는 빠르게 제품 기능을 테스트하고 론칭하기 위해 빠르게 빌드하며, 더 견고한 솔루션으로의 이전 경로를 항상 고려합니다.

타임스탬프와 함께 요약

⚙️ 0:00Discord는 Elixir와 Python을 사용하여 대규모 실시간 이벤트를 처리하고 트리리언 메시지를 저장한다.
⚙️ 2:04Elixir와 Erlang VM은 대규모 동시성을 처리하기 위해 설계되었으며, Airline 프로세스는 가벼우며 격리되어 있어 안정적인 시스템을 유지할 수 있다.
📦 4:02디스코드는 몽고디비에서 시작하여 카산드라로 이동하였으나 다시 다른 데이터베이스로 이전할 예정이다.
⚙️ 5:59Cassandra에서 읽기 작업은 쓰기 작업보다 비싸며, 디스크로부터 읽는 것은 메모리로부터 읽는 것보다 느리다. '핫 파티션'은 많은 요청을 받아 응답이 더 오래 걸리고 노드를 느리게 만든다.

더 많은 기술 비디오 요약 보기

디스코드의 대규모 메시지 처리 방법기술클라우드 컴퓨팅
Video thumbnailYouTube logo
위의 비디오, "디스코드가 10조 메시지를 저장하는 방법?!"에 대한 요약 및 주요 포인트는 Tammy AI를 사용하여 생성되었습니다.
4.52 (21 투표)