Реестр микросервисов экосистемы BPDS / FoodLifeCycle
Спецификация распределенных узлов и доменных границ
1. Identity & Access Domain (IAD)
Домен отвечает за сессии, авторизацию, разграничение прав групп (HOME / OFFICE) и кэширование справочников ошибок.
| Название микросервиса | Роль и краткое описание | БД / Кэш |
|---|---|---|
auth-service |
Контур управления сессиями. Пакует контекст группы в JWT, генерирует пары Dual Token и хранит справочники кодов ошибок. | PostgreSQL Auth DB, Redis Token Blacklist |
notification-service |
Служба уведомлений. Вычитывает алерты, локализует шаблоны пушей по app_lang и шлет их через Google FCM. |
PostgreSQL Notification DB |
2. Core Warehouse & Flow Inventory Domain
Транзакционное ядро (OLTP). Отвечает за любое физическое движение ресурсов, изменение объемов, закупки, списания и утилизацию.
| Название микросервиса | Роль и краткое описание | БД / Кэш |
|---|---|---|
fridge-service |
Операционный склад остатков. Реализует каскадный FIFO-алгоритм по дате партий, метод MERGE и логику reconcile (виртуальные недостачи). |
PostgreSQL Fridge DB |
cook-service |
Контур приготовления. Оркестрирует процессы ручной готовки и сборки блюд по тех-картам рецептов. | Использует gRPC |
consume-service |
Контур порционного списания еды при потреблении её пользователями. | Вызовы gRPC к fridge-service |
waste-service |
Контур отходов. Фиксирует карточки списания и причины порчи продуктов (PROPALO/SPOILT). |
Вызовы gRPC к fridge-service |
billing-service |
Модуль финансовых транзакций, расчета сумм чеков и аналитики трат по периодам. | PostgreSQL Billing DB |
3. Master Data Registry Domain (MDM)
Статический справочный контур. Хранит неизменяемые физико-химические константы элементов питания, БЖУ и рецепты кулинарной книги.
| Название микросервиса | Роль и краткое описание | БД / Кэш |
|---|---|---|
recipes-service |
Модуль хранения, валидации и индексного поиска (LIMIT 500) технологических карт и рецептов. | PostgreSQL Recipes DB |
4. Predictive Intelligence & Affinity Domain
Математический аналитический контур (OLAP) оценки пользовательского поведения и расчета рыночных ассоциаций.
| Название микросервиса | Роль и краткое описание | БД / Кэш |
|---|---|---|
affinity-service |
Менеджер рекомендаций. Рассчитывает веса парных ассоциаций для экрана корзины и запускает ночной Cron-спад (Decay * 0.95). | In-Memory Redis (Матрица Affinity) |
5. AI Orchestration & Vision Domain (AID)
Инфраструктурный ИИ-слой, изолирующий тяжелый инференс моделей на GPU (CUDA) от бизнес-контекстов.
| Название микросервиса | Роль и краткое описание | БД / Кэш |
|---|---|---|
censorship-control-worker |
Текстовый ИИ-цензор. Проверяет строки на мат через Ollama, ведет счетчик нарушений (лимит 2 попытки) и триггерит авто-бан. | In-Memory Redis (Abuse Counter) |
purchase-ollama-worker |
ИИ-потребитель очередей Kafka. Вызывает Ollama/Llama Structured Outputs для асинхронного NER-парсинга строк в JSON. | Использует СУБД Склада |
purchase-stream-worker Стримы V2 |
Оркестратор WebRTC/WebSocket медиа-фреймов. Обеспечивает потоковую пересылку видео и аудио на лету в ИИ-контейнеры. | In-Memory Redis (State Tracking) |
image-processor |
Тяжелый GPU-воркер. Извлекает сырой текст фискальных позиций с фото и WebSockets-видеостримов чеков (EasyOCR). | CUDA Runtime |
product-vision-processor |
Тяжелый GPU-воркер. Выполняет Object Detection и динамический трекинг продуктов по фото/видео (YOLO). | CUDA Runtime |
grpc-analytics |
Сервис Speech-to-Text. Производит асинхронную транскрибацию аудиофайлов и аудиостримов в сырой текст (Whisper tiny). | CUDA Runtime |
content-classifier |
ИИ-контейнер мгновенной классификации. Принимает первый кадр/файл и возвращает тип сессии (RECEIPT / PRODUCT). |
gRPC / CUDA |
6. Process Mining & Audit Domain (PMA)
Контур сквозного технического мониторинга и бизнес-аудита цепочек жизненного цикла продовольственных ресурсов.
| Название микросервиса | Роль и краткое описание | БД / Кэш |
|---|---|---|
bupar-audit-service |
Движок Process Mining на базе пакета bupar. Агрегирует события из Kafka по case_id, строит графы процессов и SSE-стримы логов. |
PostgreSQL Bupar DB |
7. Внедоменные инфраструктурные шлюзы (Cross-Domain Infrastructure)
Инфраструктурная обвязка сети, обеспечивающая сетевую связанность, маршрутизацию и хранение бинарных медиа-объектов.
| Название микросервиса | Роль и краткое описание | БД / Кэш |
|---|---|---|
backend-api |
Единый API Gateway (FastAPI). Отвечает за инжекцию X-Request-ID, app_lang, валидацию Pydantic и gRPC роутинг. |
Нет (Прокси/Шлюз) |
Nginx |
Входной прокси-сервер. Обеспечивает удержание WebSocket/WebRTC соединений для стримов и первичный балансинг. | Нет |
dashboard-bff-service |
Специализированный шлюз Backend-for-Frontend для React-дашборда. Агрегирует JSON-пакеты для графиков D3.js. | Нет |
MinIO |
Локальное S3 Object Storage хранилище бинарных аудиофайлов (.mp3/.ogg) и изображений чеков (.jpg/.png). | Файловая система |
helper-service |
Многофункциональный инфраструктурный ассистент. Обрабатывает входящие B2B-вебхуки торговых сетей и регистрирует интеракции. | Нет |