Обзор проекта
Единая мобильная платформа объединяет транспортные услуги и доставку по запросу в одну систему. Это избавляет от необходимости использовать несколько приложений.
Алгоритмы сопоставления в реальном времени, разработанные для обоих режимов работы, привели к сокращению времени отправки на 89 процентов и увеличению использования ресурсов на 34 процента для работы автопарка.
Архитектура, которая реагирует на события, в сочетании с распределенным управлением состоянием, плавно адаптировалась к росту, чтобы поддерживать 2 300 000 пользователей в день, сохраняя при этом 99,96% времени безотказной работы.
Благодаря интегрированной обработке платежей и динамическому ценообразованию количество неудачных транзакций уменьшилось на 67%, а доходы провайдеров выросли благодаря планированию маршрутов и стратегиям динамического ценообразования.
Вызовы и требования рынка
Рынки городского транспорта сейчас нуждаются в вариантах, которые можно подстроить под нужды пользователей в течение дня, а не только полагаться на одноразовые платформы, которые заставляют переключаться между приложениями и управлять несколькими аккаунтами. В то же время операторы сталкиваются с проблемами в максимальном использовании своего автопарка в непиковые часы для своих основных услуг.
Объединение услуг по совместным поездкам и доставке создает проблемы, связанные с:
- Распределение ресурсов и оптимальная маршрутизация
- Обеспечение согласованности операций в различных режимах предоставления услуг
- Группируйте и прогнозируйте спрос, а также управляйте запасами в режиме реального времени
- Удовлетворение потребностей как пассажиров, так и доставки посылок
Требования к соблюдению нормативных требований в транспортном и логистическом секторах разные, поэтому нужны структуры, которые можно адаптировать к разным юрисдикциям и категориям услуг, сохраняя при этом единый пользовательский опыт и операционную эффективность.
Проблемы пользователей и поставщиков
Горожане столкнулись с проблемами, связанными с транспортными приложениями, разбросанными по разным платформам, которые требовали отдельной регистрации и разных способов оплаты, чтобы можно было легко перемещаться по ним или надежно пользоваться услугами такси и доставки, когда это нужно.
Поставщики услуг сталкивались с периодами простоя и снижением доходов из-за колебаний спроса, когда они сосредоточивались исключительно на одном типе услуг. Периоды, когда количество запросов на поездки было максимальным, редко совпадали с пиковым спросом на доставку, что приводило к неравномерному распределению ресурсов и снижению удовлетворенности водителей.
Технические ограничения старых систем
Текущие системы столкнулись с проблемами при обработке задач сопоставления в реальном времени для нескольких категорий услуг одновременно. Старые системные структуры не были готовы справляться с вычислительной нагрузкой, необходимой для оптимизации маршрутов как для пассажирских, так и для доставки заказов, обеспечивая при этом быстрое время отклика.
Разрозненность в обработке платежей приводила к сбоям в транзакциях и задержкам в расчетах по разным категориям услуг, что создавало проблемы с соблюдением нормативных требований для поставщиков, которым нужна была единая система для отслеживания доходов и более гибкие варианты выплат, чем те, которые могли эффективно предоставить обычные специализированные платформы.
Старые системы не справлялись с оптимизацией в реальном времени и единой обработкой платежей, что создавало проблемы как для пользователей, так и для поставщиков услуг.
Влияние на бизнес и результаты
Сокращение затрат и рост доходов
Нам удалось сократить расходы на привлечение пользователей на 45% благодаря стратегии единой платформы. Это позволило нам избавиться от необходимости выделять отдельные маркетинговые бюджеты для секторов поездок и доставки.
Компания увеличила доходы водителей на 28%, используя умную диспетчеризацию, чтобы сократить время простоя между типами услуг.
Увеличили лояльность клиентов, подняв уровень удержания пользователей до 73%, устранив проблемы с переходом между приложениями и предложив комплексные мобильные решения на единой платформе.
Мы смогли сократить операционные расходы на 31% благодаря оптимизации операций с помощью общих ресурсов, улучшению обслуживания клиентов и централизации обработки платежей.
Соблюдение требований и операционная эффективность
Чтобы упростить соблюдение правил, мы сделали работу в разных юрисдикциях проще, внедрив гибкую систему классификации услуг, которая подходит для разных нормативных требований и не требует отдельных платформ.
Преобразуйте свой транспортный бизнес
Снизьте расходы на 31% и увеличьте доходы водителей на 28% с помощью единых платформенных решений.
Обзор архитектуры системы
Инфраструктура микросервисов
Система использует фреймворк микросервисов с коммуникацией на основе событий, что позволяет масштабировать функции транспортировки и доставки, сохраняя при этом стабильный пользовательский опыт.
Центральные услуги включают:
- Как управлять пользователями и как проходить процедуру регистрации для поставщиков услуг
- Соответствие и оптимальная маршрутизация
- Обработка платежей и оценка
Распределение сегментов распределяет алгоритмы сопоставления между региональными кластерами, чтобы уменьшить задержки и эффективно повысить устойчивость к ошибкам для текущих запросов в каждой области, а также синхронизировать с глобальными службами для межрегиональных процедур и анализа данных.
Умная система сопоставления
Система сопоставления использует набор алгоритмов, которые учитывают:
- Тип услуг, которые предоставляет компания, и что она умеет делать
- Близость и спрос в определенных областях
- Исторические данные и текущая ситуация с трафиком
- Предпочтения и доступность поставщика
Архитектура обработки платежей
Структура платежей позволяет легко обрабатывать разные типы транзакций через интегрированную систему и автоматически направлять их в зависимости от категории услуг и действующих правил. Разделенные платежи помогают справляться с такими ситуациями, как доставка с несколькими остановками и совместные транспортные услуги.
Основные компоненты сервиса
Сервис управления пользователями
Служба управления пользователями включает такие задачи, как:
- Процессы аутентификации
- Управление профилями и настройками пользователей
- Координация управления сессиями между сервисами
Сервис оптимизации маршрутов
Сервис оптимизации маршрутов предлагает умные маршруты для доставки и поездок, используя данные о трафике в реальном времени и вычисляя оптимальные пути.
Сервис обработки платежей
Сервис для обработки платежей предлагает полное управление транзакциями провайдеров с автоматической расчетной системой и разделением платежей.
Как обрабатываются запросы
Поток запросов идет через API-шлюз с ограничениями по скорости и проверкой аутентификационных данных. Входящие запросы, которые подходят под критерии, ставятся в очереди по приоритету, в зависимости от категории услуги и географического местоположения. Кроме того, система оптимизирует обработку запросов в очередях, чтобы эффективно справляться с пиковыми нагрузками.
Обновления местоположения в реальном времени проходят через систему обмена сообщениями, чтобы следить за доступностью услуг на узлах, подключенных к сети маршрутов и пунктов назначения. Расчеты для определения маршрутов объединяют информацию о трафике в реальном времени из внешних API с анализом исторических данных, чтобы сделать надежные прогнозы о предполагаемом времени прибытия (ETA).
Инфраструктура и развертывание
Многорегиональная архитектура
Настройка с развертыванием в разных регионах в конфигурации «активный-активный» гарантирует глобальную доступность и эффективно защищает от аварий. Такое развертывание обеспечивает оптимальную глобальную доступность и наличие планов действий в чрезвычайных ситуациях для восстановления после аварий, что позволяет достичь глобального охвата при эффективной работе на местном уровне.
Региональные группы следят за локальными задачами, а глобальные службы отвечают за управление аккаунтами, платежи и межрегиональную аналитику.
Оркестрация и масштабирование контейнеров
Контейнерная оркестрация позволяет настраивать ресурсы в зависимости от спроса в разных регионах. Она включает специальные стратегии масштабирования для вычислительно-емких алгоритмов сопоставления и услуг отслеживания местоположения с интенсивным вводом/выводом данных.
Мониторинг и производительность
Распределенное отслеживание и аналитика
Распределенное отслеживание прослеживает поток запросов между областями обслуживания, чтобы эффективно выявлять проблемы с производительностью. Мониторинг панелей мониторинга метрик в реальном времени помогает следить за:
- Успешность подбора
- Скорость обработки платежей
- Сигналы пользовательского опыта
Автоматические системы оповещения замечают любые проблемы в спросе, доступности провайдеров и показателях производительности системы.
Стратегия разработки и тестирования
Итеративный процесс разработки
Платформа прошла через несколько этапов разработки с постоянным обновлением, чтобы услуги работали без проблем. Благодаря флагам функций можно было постепенно улучшать алгоритм поиска и добавлять новые категории услуг, не обновляя всю систему.
Комплексная тестовая среда
Тщательный план тестирования включал:
- Тесты для проверки бизнес-логики
- Интеграционные тесты для проверки взаимодействия сервисов
- Тестирование производительности в часы пиковой нагрузки
- Нагрузочное тестирование, чтобы проверить, как система держится в сложных ситуациях
- Принципы хаос-инженерии для проверки отказоустойчивости и протоколов восстановления
Использование принципов хаос-инженерии на ранних этапах разработки помогает найти потенциальные точки отказа и повысить устойчивость системы.
Управление инфраструктурой
Инфраструктура как код
Чтобы все было единообразно в инфраструктуре на этапах разработки, тестирования и производства, используем подход «инфраструктура как код». На тестовых установках смотрим, как все работает с реальными данными, проверяем производительность и нагрузку, прежде чем запускать в производство.
Стратегии развертывания
Стратегии «сине-зеленого» развертывания сократили время простоя при внедрении обновлений за счет использования автоматических триггеров отката, которые реагируют на критические показатели производительности и частоту ошибок.
Автоматизированные процессы создания и развертывания поддерживали запуск отдельных сервисов, которые проходили проверку зависимостей и сканирование безопасности на этапе сборки, чтобы выявить уязвимости перед развертыванием в производственных системах.
Управление данными и миграция
Как переносить базы данных
Процедуры миграции баз данных позволили плавно обновить схему без каких-либо простоев, используя постепенные изменения и переключатели функций, чтобы постепенно включать новые функции.
Стратегия миграции системы
Постепенное внедрение сначала было сосредоточено на предоставлении услуг доставки в определенных регионах, чтобы эффективно наладить протоколы и функции мониторинга, а затем расширить их, включив услуги по совместным поездкам, используя существующую инфраструктуру и операционный опыт.
Когда переходили со старых систем на новые, при переносе данных использовали методы двойной записи, чтобы данные оставались правильными и можно было откатить изменения при первом запуске новых систем.
Безопасность и управление рисками
Меры по защите системы
Шаблоны автоматических выключателей помогли защитить сервисы от каскадных сбоев, а функции регионального переключения на резервный сервер обеспечили непрерывность работы сервисов в случае сбоев инфраструктуры. Были введены меры по ограничению скорости и защите от DDoS-атак, чтобы защитить API от злоупотреблений и внезапных всплесков трафика.
Управление финансовыми рисками
Система управления финансовыми рисками включала ограничения на транзакции, а также алгоритмы для выявления мошенничества и автоматического мониторинга расчетов, чтобы избежать ошибок при обработке платежей.
Показатели эффективности и результаты
Основные показатели эффективности
Интегрированная платформа показала значительное улучшение показателей эффективности и удовлетворенности пользователей, а также соответствовала отраслевым стандартам по производительности и доступности в режиме реального времени в часы пиковой нагрузки.
Улучшения в использовании ресурсов для поставщиков услуг привели к увеличению прибыли и снижению текучести клиентов, а надежная обработка платежей решила серьезную проблему, которая вызывала недовольство пользователей и поставщиков в прежней системе.
Показатели производительности системы
| Метрика | Предыдущее значение | Текущее значение | Улучшение |
|---|---|---|---|
| Частота неудачных платежей | 3.7% | 1.2% | сокращение на 67% |
| Время отклика API (P99) | >800 мс | 387 мс | улучшение на 52% |
| Доступность системы | 99.2% | 99.96% | 0.улучшение на 76% |
| Стоимость привлечения пользователей | Базовые требования | Сокращенный | сокращение на 45% |
| Доходы водителей | Базовые принципы | Увеличено | 28% увеличение |
| Уровень удержания пользователей | 45% | 73% | улучшение на 62% |
Извлеченные уроки и лучшие практики
Сложность управления состоянием
Сначала, когда мы пытались разобраться со сложным управлением состоянием, у нас были проблемы с высокой параллельностью. Но потом мы добавили методы событийного источника и оптимистическую блокировку, и это помогло решить проблемы с согласованностью без ущерба для производительности. В будущем важно, чтобы в новых реализациях с самого начала планирования архитектуры приоритет отдавался моделям конечной согласованности.
Стратегия географического распространения
Создание плана географического разделения — это поиск оптимального баланса между локальной эффективностью и глобальным использованием ресурсов. Возможность сопоставления между регионами очень важна в периоды пикового спроса, но в некоторых случаях может привести к задержкам. Предоставление региональной независимости при настройке межрегиональной координации обеспечивает максимальную гибкость для этой стратегии.
Интеграция платежных систем
Объединение обработки платежей для разных типов услуг привело к сложностям с возвратами, частичными платежами и разделенными транзакциями. Вложения в сложные механизмы состояния транзакций и процедуры сверки помогают избежать сбоев в работе и снизить недовольство клиентов.
Развертывание модели машинного обучения
Чтобы внедрить модели машинного обучения для оптимизации сопоставления, нужно было подойти к инфраструктуре A/B-тестирования серьезно, чтобы не испортить пользовательский опыт при обновлении алгоритмов. Возможность постепенно вводить изменения, одновременно отслеживая производительность в реальном времени, упрощает безопасный процесс итерации моделей машинного обучения в производственных средах.
Управление мощностями поставщика
Если включить мониторинг возможностей провайдера на ранней стадии разработки, это поможет обеспечить плавный рост сервиса. Адаптивность дизайна для привлечения провайдеров и проверки возможностей облегчает выход на рынок новых категорий услуг без необходимости серьезных структурных изменений.
Проблемы синхронизации данных
Когда сеть не работает, синхронизация данных между узлами в реальном времени иногда приводит к несоответствиям в потоке информации. Используя способы решения конфликтов и планы резервного копирования для обеспечения производительности системы, мы можем поддерживать доступность сервиса и защищать точность данных даже при сбоях в инфраструктуре.
Когда работаешь с разными типами услуг, платежная система становится намного сложнее. С самого начала продумай, как будешь управлять состоянием транзакций.
Компоненты технологического стека
Основная инфраструктура
- Система очередей сообщений: позволяет асинхронно обрабатывать задачи и поддерживает архитектуру, управляемую событиями
- Платформа машинного обучения: используется для прогнозирования спроса, оптимизации сопоставления и выявления мошенничества
- Контейнерная оркестрация: управляет масштабируемым развертыванием в разных регионах
- API Gateway: занимается маршрутизацией запросов, ограничением скорости и аутентификацией
Подход с единой платформой оказался успешным в решении сложных задач современного городского транспорта, при этом он приносит значительную коммерческую выгоду и улучшает пользовательский опыт как в сфере транспорта, так и в сфере доставки.
Результаты проекта
- сокращение времени отправки на 89%
- увеличение использования ресурсов на 34%
- на 67% меньше проблем с транзакциями
- 99.достигнуто 96% времени безотказной работы системы
- 2.поддерживается 3 миллиона ежедневных пользователей
- сокращение затрат на привлечение пользователей на 45%
- 28% рост доходов водителей
- 73% удержание пользователей
Ключевые показатели эффективности
Сокращение отправлений
Сокращение времени отправки
Использование ресурсов
Повышение эффективности автопарка
Время работы системы
Доступность платформы
Ежедневные пользователи
Поддерживаемое количество одновременных пользователей


