Хайлоад, которого не ждали Архитектуры, масштабируемость

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

Руководитель разработки пилотных проектов

Тезисы

Предположим, у вас идеальная команда. Все разработчики — мастера спорта по вращению красно-черных деревьев, тестировщики еще вчера взламывали сервера Пентагона и выбирали нового президента США, а архитектуру придумывает лично Кодзима. Любой написанный вами сервис выдержит нагрузку, даже если все атомы вселенной решат им воспользоваться в одну и ту же секунду.

По итогам вся ваша работа состоит из двух частей: вы разрабатываете проект, а потом он безотказно работает до конца времен.

Звучит скучно, не правда ли?

В реальности все гораздо интереснее. Пока разработчик отходил за чаем, кот пробежался по клавиатуре и зафорспушил в репозиторий сырой код. Тестировщик, посмотрев на код, выдал заключение, что вроде должно работать, а у архитектора вчера был день рождения, поэтому сегодня на митинге в 10:00 он хриплым голосом проговорил "ну вы там как-нибудь сами разберитесь".

В прошлому году нам необходимо было с нуля создать систему хранения товаров и остатков для магазинов Магнита за 2 месяца. Учитывая даже тот факт, что архитекторы у нас не пьют, а коты разработчиков очень воспитанные и работают исключительно через мержреквесты, задача была не из легких.

В этом докладе я планирую рассказать:
- как написанный в короткие сроки пилотный проект внезапно для всех превратился в хайлоад-сервис, который должен держать нагрузку 200 000 запросов в секунду;
- какие ошибки были допущены при проектировании сервиса, и как мы их исправляли;
- с какими проблемами мы столкнулись при масштабировании нашей системы.

Другие доклады секции Архитектуры, масштабируемость