Перейти к содержанию

B. Odds Feed Ingestion and Distribution

Раздел 06

Тип материала — инженерный walkthrough. HYPOTHETICAL — модель и схемы.

Архитектура и владельцы

flowchart LR
 A["Provider"] --> B["Feed adapter"] --> C["Market state"] --> D["Client distribution"]

Контракт и нормальная последовательность

Adapter нормализует provider market ID, epoch, sequence и price. Market writer применяет contiguous deltas. Client получает quote version и expiry. Acceptance проверяет их у authority.

sequenceDiagram
 participant A as Provider
 participant B as Feed adapter
 participant C as Market state
 participant D as Client distribution
 A->>B: Send versioned input
 B->>C: Apply contiguous delta
 C-->>B: Return durable evidence
 B->>D: Advance downstream processing

Отказ и replay

Получен seq 43 после 41. Market suspend, adapter загружает snapshot на seq 45 и применяет совместимый хвост. Старые epochs и seq ≤45 отбрасываются.

sequenceDiagram
 participant B as Feed adapter
 participant C as Market state
 participant O as Recovery owner
 B->>C: Attempt operation
 Note over B,C: Sequence gap detected
 O->>C: Install snapshot and replay retained tail
 C-->>O: Verified state or explicit pending

Мониторинг и сверка

Сравнить активные selections, цены и status на snapshot cut. Следить за gap rate, quote age и suspend duration.

Альтернативы

Персистентный log помогает replay, snapshot сокращает catch-up. Цена проверки у authority — дополнительный hop при раздельных сервисах.

Распределённый runtime сценария NOT_RUN. Локальные примеры