✅
Преодолевая барьеры: Путь Discord к масштабированию Midjourney до 15 миллионов участников
Когда популярность сервера
Midjourney от Discord резко возросла, он натолкнулся на : ограничение в 1 миллион участников. Это история о том, как небольшая команда инженеров Discord превратила эту проблему в выдающееся достижение.
Задача: Представьте себе виртуальное пространство, настолько популярное, что оно трещит по швам. Будучи одним из самых быстрорастущих серверов
Discord за всю историю,
Midjourney столкнулся именно с таким сценарием, поскольку количество участников росло геометрически.
Discord платформавремени, работающая на
Erlang/Elixir, затрещала по швам под огромным давлением. С каждым новым участником сложность и нагрузка росли в геометрической прогрессии.
Решения:Чтобы свести к минимуму
перегрузку, инженеры внедрили "
пассивные" соединения, гарантирующие, что неактивные пользователи не будут создавать лишней нагрузки.
Переработка системы реле позволила более эффективно распределять работу за счет более избирательной обработки пользовательских данных.
Параллельная обработка: Используя ETS Erlang, команда разработчиков обеспечила параллельную обработку для таких тяжелых операций, как оповещение всех пользователей что значительно снизило нагрузку на систему.
ETS - инструмент для хранения объектов Elixir и Erlang в памяти. Он способен хранить огромные объемы данных и предоставляет доступ за фиксированное время.
Не все было гладко. Некоторые многообещающие идеи, такие как разгрузка Manifold, дали обратный эффект, увеличив нагрузку на сервера.
↪️
Читать подробнее@csharp_ci