Mimir

ARCH-403: Inventory Service Event Publishing, Retries, And Idempotency

architecture
inventory
2c21426246a4

architecture/arch-403-inventory-eventing.md

ARCH-403: Inventory Service Event Publishing, Retries, And Idempotency

Date: 2026-06-09 Service: Inventory Service Owner: Supply Platform APIs: API-INVENTORY-01, API-INVENTORY-02, API-INVENTORY-03, API-INVENTORY-04 Related Services: Authentication Service, Checkout Service, Billing Service, Notification Service

Context

This document defines event publishing, retries, and idempotency for the Inventory Service in the Acme Commerce platform. The service participates in customer journeys that span Authentication Service, Checkout Service, Billing Service, Inventory Service, and Notification Service.

Design

The Inventory Service owns the authoritative model for the stock domain. Synchronous API calls use the contracts API-INVENTORY-01, API-INVENTORY-02; asynchronous updates use API-INVENTORY-03. Internal worker coordination uses API-INVENTORY-04.

Requests must include a correlation identifier, tenant context, and caller identity. Write operations are idempotent and expose deterministic conflict responses so Checkout Service and Billing Service can retry safely. Read paths prefer bounded caching with explicit invalidation events.

Failure Modes

Recent incident references for this design include INC-2025-401, INC-2025-402. Architecture reviews require verifying timeout budgets, retry policies, circuit breakers, and audit logging for all cross-service calls.

Operational Requirements

  • SLO target: 99.90 percent monthly availability.
  • Dashboards must break down traffic by API reference and downstream dependency.
  • Runbooks must explain degraded-mode behavior for Inventory Service.
  • Changes to these contracts require Jira approval and linked GitHub implementation work.