Event Schema Registry

Общий формат события

{
  "event_id": "uuid-v4",
  "event_type": "entity.action",
  "version": 1,
  "timestamp": "2026-03-30T12:00:00.000Z",
  "source": "service-name",
  "payload": { ... }
}

Реестр пополняется по мере появления топиков

Список ниже — текущие активные топики, полные payload-структуры — в соответствующих 03-Services/{Service}/Events.md.

Текущие топики

TopicProducerConsumersOutboxОписание
store.table.upsertedStore Servicepos-bffнет (fire-and-forget)Realtime-инвалидация плана зала на POS
catalog.product.upserted / .deletedCatalog Servicepos-bffдаИзменения товаров
catalog.category.upserted / .deletedCatalog Servicepos-bffдаИзменения категорий
catalog.modifier_group.upserted / .deletedCatalog Servicepos-bffдаИзменения модификаторов
catalog.stoplist.updatedCatalog Servicepos-bffдаСтоп-листы
aggregator.order.receivedAggregator Servicepos-bffдаВходящие заказы агрегаторов
order.status.changedOrder Servicestore-service-tablesдаЖизненный цикл заказа
marketing.slide.changed (BR 6.1)Store Servicepos-bffдаCRUD маркетинговых слайдов для standby-карусели POS

Конвенции

  • Topic naming: {service_domain}.{entity}.{action}
  • Consumer group: {consumer_service}-group
  • Serialization: JSON, UTF-8
  • Обязательные поля: event_id, event_type, version, timestamp, source, payload
  • Идемпотентность: консьюмеры дедуплицируют по event_id
  • Partitioning: по entity_id для гарантии порядка в рамках одной сущности
  • DLT: каждый топик имеет dead letter topic {topic}.dlt