8 миллионов поездок в день, 500 кластеров Redis в 8 регионах AWS, и всё это смигрировали на Valkey силами двух инженеров за два месяца. История inDrive.
В новом выпуске подкаста «AWS на русском» говорим с Vadym Voitiuk (Principal SA, AWS) и командой inDrive (Alexander Lisachenko, Solution Architect + Artem Gab, Engineering Manager) про Redis, Valkey и ElastiCache в масштабе ride-hailing:
🔹 inDrive в цифрах: 48 стран, 1000+ городов, 8M поездок в день и миллионы водителей в real-time телеметрии
🔹 Каир-проблема: одна city_id = один hot slot. Почему m6g.24xlarge (96 ядер) не спасла, и как однопоточный Redis завалил прод
🔹 H3 гексагоны от Uber как новый ключ шардирования: разблокировали горизонтальное масштабирование по shard
🔹 Микросервисная архитектура: от коммунального Redis к Redis per microservice per region, blast radius сократили с мира до страны
🔹 Миграция 500 кластеров OSS Redis -> Valkey: 2 инженера × 2 месяца × zero-downtime через AWS online engine migration, ~20% экономии подтверждено CUDOS
Будет полезно SRE, DevOps и архитекторам, у кого Redis/Valkey под серьёзной geo-нагрузкой, и всем, кто думает про переезд с self-managed Redis на ElastiCache или с Redis OSS на Valkey.
💡 Обычный CPUUtilization врёт на Redis/Valkey: при outage может показывать «всё ок». Смотреть надо на EngineCPUUtilization. Redis однопоточный, и именно оно показывает загрузку того самого «золотого» ядра, которое работает с данными.
🎧 Доступно на любимой платформе:
• YouTube, Podbean, Apple Podcasts, Яндекс Музыка, Spotify, RSS (ссылки ниже)
💬 А у вас Redis прячет свой «золотой» core? Какие метрики мониторите в ElastiCache на проде?
#Redis #Valkey #ElastiCache #H3 #inDrive #AWS #Подкаст #AWSнаРусском
Навигация (Podbean)
(0:00) Introduction
(0:57) Гость AWS - Вадим Войтюк
(1:05) inDrive: Саша (SA) + Артём (Engineering Manager)
(1:51) Что такое inDrive: ride-hailing с аукционом цены, 48 стран
(4:28) Масштаб: 8M поездок в день и real-time телеметрия водителей
(7:07) Почему Redis: геоиндексы для dispatch и Ленты
(9:31) GEOADD, проекция Меркатора и геоподводные камни
(10:27) Старый подход: city_id и hot slot на мегаполис
(12:32) «Каир-проблема»: всё упирается в одно ядро
(13:21) Redis на железе в виде «ёлочки»
(16:27) Миграция в ElastiCache: один shard на 90% CPU
(18:00) m6g.24xlarge не спас: Redis однопоточный
(19:01) Нет контроля над распределением cluster slots
(20:53) Первый rollback с production
(22:14) Решение: H3 гексагоны от Uber
(26:20) Временный Redis operator в EKS
(28:50) Сейчас: ~500 кластеров × 8 регионов
(29:52) Redis как hard dependency микросервиса
(32:14) Engine CPU: ключевая метрика
(34:33) Scale by shards vs by nodes
(35:35) T-family baseline, кредиты, переход на M-family
(38:37) Переезд на Valkey
(39:06) 20% экономии по CUDOS
(42:46) 500 кластеров × 2 инженера × 2 месяца
(45:18) Online engine migration: zero-downtime
(48:08) Graviton как дефолт для managed-сервисов
(49:57) Топ метрик: engine CPU, memory, network
(52:06) Секретная метрика Geospatial CMDS latency
(53:00) Connection storming как предиктор cascade failure
(55:46) TLS offloading + IO multiplexing на Valkey large+
(58:55) Wish-list: network autoscaling + гибридный
(1:00:23) Итоги
YouTube: https://youtu.be/LZLvJJvePSo
Podbean: https://awsinrussian.podbean.com/
Apple Podcast: https://podcasts.apple.com/by/podcast/aws-на-русском/id1600771698
Яндекс.Музыка: https://music.yandex.ru/album/20088544
Spotify: https://open.spotify.com/show/4kOoih4FvHqyK5mLF3E42J
RSS: https://feed.podbean.com/awsinrussian/feed.xml