Хватит себя обманывать, или Давайте посмотрим, как работают статистические балансировщики нагрузки

Бэкенд, теория программирования

Доклад принят в программу конференции

Мнение Программного комитета о докладе

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

Целевая аудитория

SRE-инженеры, backend-разработчики высоконагруженных сервисов.

Тезисы

Все мы знаем, что для эффективной балансировки необходим хороший алгоритм. Современные алгоритмы могут динамически определять перегруженные инстансы сервисов и эффективно снижать квантили ResponseTime-сервиса. Но так ли это? Обсудим то, что мы, в OzonTech, смогли увидеть на своих сервисах под нагрузкой более 1 миллиона RPS.

В докладе мы рассмотрим проблемы, которые возникают в больших инсталляциях клиентов и бэкендов в межсервисном взаимодействии, когда RPS, отправляемого каждым инстансом клиента, не хватает для корректной и эффективной работы балансировщиков, рассмотрим их эффект инертности, а также разберем решения, позволяющие большим инсталляциям не терять эффективность балансировки запросов.

Ведущий разработчик информационных систем в платформенной команде, разрабатывающий собственное service mesh-решение и client-side-балансировку.

Ozon

Ozon — ведущий e-com России. В их IT-команде уже 5 000 специалистов, которые создают продукты для миллионов людей по всей стране и за рубежом. Ozon Tech разрабатывает собственные решения, контрибьютит в Open Source и использует современный стек: Go, C#, Kotlin, Swift TypeScript, Vue.js, Kubernetes и Kafka. Продолжают расти, чтобы повышать доступность сервисов и быть ближе к пользователям.

Видео