АРМ Диспетчер такси "Престиж"
Полноценная микросервисная архитектура для службы такси с Telegram-ботом, веб-интерфейсом и WinForms приложением
О проекте
🏗️ Архитектурная эволюция:
Начальная архитектура:
- Монолитный Web-API сервер на ASP.NET Core Kestrel
- Единая база данных PostgreSQL
- Прямое взаимодействие клиентов с API
Микросервисная архитектура:
- Разделение на специализированные сервисы (заказы, водители, геолокация, уведомления)
- Apache Kafka для асинхронной межсервисной коммуникации
- API Gateway на Ocelot для маршрутизации и агрегации запросов
- Сервис обнаружения для динамической конфигурации
🔧 Технологический стек серверной части:
База данных и кэширование:
- PostgreSQL с оптимизированными схемами
- Dapper для высокопроизводительных запросов
- Хранимые процедуры для сложной бизнес-логики
- Redis для кэширования часто используемых данных
- Liquibase для управления миграциями базы данных
Коммуникация и реальное время:
- SignalR для WebSocket соединений с клиентами
- Apache Kafka как брокер сообщений между сервисами
- Асинхронная обработка событий системы
Безопасность и валидация:
- Ocelot API Gateway с аутентификацией и авторизацией
- FluentValidation для комплексной валидации запросов
- AutoMapper для безопасного маппинга объектов
- Rate limiting и защита от DDoS атак
Инфраструктура:
- Docker-контейнеризация всех сервисов
- Развертывание на Ubuntu сервере
- GitLab CI/CD для автоматизации сборки и деплоя
- Мониторинг и логирование всех компонентов
👥 Клиентские приложения:
WinForms приложение для диспетчеров:
- Реальный мониторинг заказов и водителей в реальном времени
- Управление распределением заказов
- Геолокация и отслеживание автомобилей
- Система уведомлений и оповещений
Веб-интерфейс на PHP для диспетчеров:
- Адаптивный интерфейс для работы с любого устройства
- Панель управления в реальном времени через WebSocket
- Управление заказами и водителями через браузер
- Статистика и аналитика в виде графиков и дашбордов
Telegram-бот для водителей:
- Прием и выполнение заказов
- Навигация и маршрутизация
- Статистика и отчетность
🎯 Ключевые особенности:
Производительность:
- Обработка 1000+ одновременных подключений
- Response time < 50ms для критических операций
- Автомасштабирование под нагрузку
Надежность:
- 99.9% uptime в production
- Резервное копирование и восстановление
- Отказоустойчивая архитектура
Безопасность:
- Шифрование PII (персональных данных) в базе данных
- JWT-токены для аутентификации с коротким временем жизни
- Хэширование паролей по алгоритму bcrypt
- Валидация и санитизация всех входящих данных
- Rate limiting для защиты от брут-форс атак
Детали реализации
Задачи проекта
- Разработка современного интерфейса
- Оптимизация производительности
- Адаптация под мобильные устройства
Достижения
- Полная автоматизация работы такси-службы
- Сокращение времени обработки заказа с 3 минут до 15 секунд
- Увеличение количества обрабатываемых заказов на 300%
- Микросервисная архитектура с горизонтальным масштабированием
- 24/7 мониторинг и автоматическое восстановление
- Интеграция с Telegram для мобильности водителей
- Кросс-платформенный веб-интерфейс для диспетчеров
Использованные технологии
Детали проекта
Такси "Престиж" ИП Басманов Е.Д.
11.03.2022
Веб-разработка