B. Odds Feed Ingestion and Distribution¶
Тип материала — инженерный 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. Локальные примеры