4 инженера ruby-команды Купера съехались из разных городов, чтобы решить конкретную и непростую проблему: стандартная open-source реализация gRPC-сервера не позволяет эффективно использовать ресурсы и гибко масштабироваться из-за отсутствия очереди запросов.
Мы решили показать, как строится работа над задачами в команде. Вместе, Дима, Лёша, Юра и Борис разбираются в сути проблемы, ищут решения и тестируют лучшие варианты в условиях высокой нагрузки.
Какой подход выберет команда и получится ли решить проблему?
Смотрите в этом видео:
00:00 — В этом выпуске
00:40 — Проблема в продакшене
02:48 — Наша команда инженеров
04:46 — В чём суть задачи
07:34 — Набрасываем варианты решения: Ретрай на клиенте
08:37 — Настроить пул запросов
09:48 — Скейлинг
10:40 — Настроить балансировщик
11:19 — Альтернативные варианты
12:12 — Ускорение обработки
14:55 — gRPC на HTTP
16:12 — Рефакторинг
17:25 — Плюсы и минусы каждого решения
39:02 — Обед
40:39 — Согласуем выкатку в прод с инжинирнг-менеджером
44:15 — Финальные варианты
47:44 — Нагрузочное тестирование
49:43 — Подводим итоги
57:05 — Впечатления от прошедшего дня
Тестовый стенд с исследованиями вариантов решений и нагрузочным тестированием на GitHub:
https://github.com/Kuper-Tech/ruby-grpc-research
Канал Димы Салахутдинова «Стафф-инженер» в Telegram: https://t.me/staff_plus
Канал Леши Черненкова «Дневник программиста» в Telegram: https://t.me/chernenkov_webdev
Мы tech-команда, которая создает сервис доставки из магазинов и ресторанов и делает это с любовью.
Telegram: https://t.me/tech_kuper
VK: https://vk.com/kuper_tech_team
Блог на Хабре: https://habr.com/ru/companies/kuper/articles/
Вакансии: https://team.sbermarket.ru/tech
Подкаст «Для tech и этих»: https://bit.ly/dlya-tech-i-etich-podcast