Доклад

Алгоритмы троттлинга запросов

  • На русском языке

Факапы на бэкенде периодически случаются у всех. Части этих факапов можно избежать, если провести нагрузочное тестирование, определить пределы возможностей сервиса и заранее ограничить количество одновременно обрабатываемых запросов. Это позволяет сгладить неравномерность нагрузки и справиться с обработкой хотя бы части запросов, что гораздо лучше полного падения сервиса.

Решить задачу Rate Limiting помогает примитив синхронизации под названием семафор. Он пропускает внутрь заданное количество потоков, а остальные ставит в очередь. Однако современные приложения — асинхронные, использовать в них обычный семафор неэффективно. И здесь у разработчиков фреймворков и highload-сервисов появляется необходимость выбора алгоритма реализации семафора, работающего не на уровне потоков, а на уровне асинхронных задач. Неудачно выбранный алгоритм еще больше нагрузит сервис, который и так работает под нагрузкой на пределе возможностей.

Спикеры

Приглашенные эксперты

Расписание