Карта сервисов
Этот раздел нужен, чтобы быстро понять границы сервисов и не путать их с текущим деревом каталогов в репозитории.
Важно:
- README внутри
30-services/описывают целевые сервисные границы и контракты. - Они не означают, что для каждого сервиса уже существует отдельная реализация в
backend/. - Актуальный сервисный README обязан прямо сказать, есть ли уже выделенный код сервиса или пока существует только target boundary.
- Если нужно понять, что реально реализовано в коде сейчас, начните с
../index.mdи../40-operations/deployment.md.
Когда читать этот раздел
- Нужно понять, за что отвечает конкретный сервис.
- Нужно определить, в каком сервисе должна жить новая функциональность.
- Нужно разобраться, какие контракты и зависимости у сервиса уже задуманы.
Как пользоваться разделом
- Начните с этой карты, чтобы выбрать нужный сервис.
- Откройте README конкретного сервиса и сначала прочитайте секцию
Статус документа. - Если нужен контракт или схема, переходите из README в
20-architecture/schemas/. - Если нужен процесс изменения или подключения поставщика, переходите в
50-processes/.
Сервисы ядра
| Сервис | За что отвечает | Когда читать |
|---|---|---|
catalog-core | canonical products, manufacturer, characteristics, identity profiles | если меняется каталог или классификаторы |
matching | привязка supplier offer к canonical product | если обсуждается quality матчинга или orphan offers |
normalization | приведение supplier payload к внутреннему формату | если меняется парсинг или mapping данных |
enrichment | AI/правила для обогащения карточек товара | если меняются дополнительные характеристики, контент или confidence |
search | поиск по каталогу и кандидатам | если меняются индексация, ранжирование или explainability |
pricing | price rules, customer-specific pricing, visibility | если меняются расчёт цены и правила доступа к данным |
meta-search | разбор смет и подбор оптимального набора позиций | если меняется workflow сметы или оптимизация |
visibility | data visibility policy и response shaping | если меняются правила видимости или redaction |
API и orchestration
| Сервис | За что отвечает | Когда читать |
|---|---|---|
public-api | внешний REST/gRPC/WebSocket API | если меняется внешний контракт для клиентов |
admin-api | админские сценарии и модерация | если меняется админка или внутренние административные операции |
ingestion | orchestration коннекторов, fetch jobs, raw payload pipeline | если меняется получение данных от поставщиков |
Коннекторы поставщиков
Подключения к конкретным поставщикам живут под ingestion/connectors/.
- framework и общие правила:
ingestion/connectors/framework.md - первый детализированный коннектор:
ingestion/connectors/etm/README.md - процесс добавления нового поставщика:
../50-processes/adding-new-supplier.md
Связанные документы
- Архитектура верхнего уровня:
../20-architecture/high-level-architecture.md - Раскладка модулей:
../20-architecture/module-layout.md - События и схемы:
../20-architecture/schemas/events/topics.md - Стандарт сервисных README:
../50-processes/documentation-standard.md