디스코드가 10조 개의 메시지를 저장하는 방법?!




• Discord는 실시간 메시징을 위해 Elixir라는 기능적 프로그래밍 언어를 사용하며, 이는 erlang VM에서 실행된다. erlang은 통신 시스템 구축을 위해 만들어진 언어로, 분산 및 내결함성 시스템을 지원한다.
• Discord는 초당 수억 개의 메시지를 전송하는 채팅 메시징 시스템을 구동하기 위해 500개의 Elixir 시스템을 실행하고 있으며, 이를 통해 1,200만 명 이상의 동시 사용자를 처리한다.
• Discord는 데이터 저장을 위해 처음에는 MongoDB를 사용했지만, 데이터와 인덱스가 Ram에 맞지 않게 되면서 Cassandra로 마이그레이션했다. 그러나 Cassandra 역시 문제가 있어, 결국 Sila DB로 마이그레이션하게 되었다.
북마크
공유하기
신고하기