Краткое изложение того, как Discord обрабатывает вещи.

Другие платформы, такие как Zoom, по-прежнему не могут справиться с этим?

1. Решение не простое. Дискорд — это техническое чудо. Прежде всего, Discord, как и другие системы конференц-связи, использует WebRTC, но с изюминкой.

2. WebRTC — это разработанная Google технология для аудио/видео связи в реальном времени. В этом сообщении он выполняет множество функций: 1) Обработка аудио- или видеосигнала для уменьшения фонового шума 2) Сжатие и распаковка аудио- и видеосигналов с использованием кодеков. 3) Создание интерактивной установки подключения путем маршрутизации трафика от одного узла к другому через брандмауэры (NAT) и ретрансляторы (ICE).

3. Однако его прямое использование имеет ряд недостатков. Дискорд немного подправил его под свои нужды. 1) Требовалось управление громкостью системы, которую обычно приглушают окна во время разговора. Дискорду это не понравилось, потому что игра и голос пользователя были необходимы. 2) В моменты тишины они снижают пропускную способность и нагрузку на ЦП.

4. Discord также имеет сетевую структуру клиент-сервер, поскольку одноранговая сеть становится непомерно дорогой, когда количество пользователей превышает 1000. Поскольку ваш общедоступный IP-адрес скрыт, это помогает защитить ваши компьютеры от DDOS-атак.

5. Они минимизируют количество передаваемых данных, чтобы сохранить соединения и исключить ICE, который используется для поиска оптимального пути в одноранговой сети. Это способствует улучшению производительности.

6. Бэкенд-сервисы Discord, отвечающие за поддержание клиентских соединений и передачу сигналов, разработаны на Elixir, который основан на Erlang и допускает параллельную обработку.

7. Они используют последовательное хеширование, чтобы определить, какой сервер должен быть выделен данному клиенту, но только с несколькими настройками, поскольку у него есть узкие места, которые снижают скорость.

В этой статье сложно охватить все. Но это был лишь краткий обзор того, как Discord справляется с вещами. Пожалуйста, рассмотрите возможность подписки, если вам понравилась статья.

Дополнительные материалы на PlainEnglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter и LinkedIn. Присоединяйтесь к нашему сообществу Discord.