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