pile·
인프라 / DevOps·discord-blogDiscord Blog·

Discord 가 수조 개 메시지를 색인하는 방법

문제Discord는 2017년 구축한 Elasticsearch 검색 인프라가 200개 노드 이상으로 확장되며 Redis 큐 백업, Lucene 20억 메시지 한계, 노드 장애 시 배치 전체 실패 같은 문제에 부딪혔다.
접근200개 단일 클러스터를 40개 셀(Cell) 기반 다중 클러스터로 쪼개고 Elastic Kubernetes Operator로 운영을 자동화했다. Redis 큐는 Google Cloud PubSub로 전환했고, Rust MessageRouter로 동일 노드 대상 메시지를 묶어 배치 인덱싱한다.
결과인덱싱 처리량 2배 증가, 중앙값 쿼리 지연이 500ms에서 100ms 미만으로, p99는 1초에서 500ms 미만으로 줄었다. 트릴리온 규모 메시지를 무중단으로 운영한다.
discord-blog
Discord Blog 블로그
원문은 여기서 이어서 읽을 수 있어요
원문 읽기
읽음 (0)

이 글과 비슷한

  1. 인프라 / DevOps·vercel-blogVercel Blog·

    Vercel CLI 드라이런 배포로 실제 배포 전 구성 미리 확인하기

    Vercel CLI v54.17.2부터 vercel deploy --dry 명령으로 실제 파일 업로드 없이 배포 구성을 미리 검사할 수 있다. 프레임워크 감지 결과, 포함/제외 파일 목록, 디렉터리 크기 분포, 콘텐츠 해시까지 사전에 확인하고 나서 배포를 결정할 수 있어 의도치 않은 배포 실패를 예방한다.

    #deployment#ci-cd#vercel-cli+1