Tradeoffs

Design constraints change what`s best. Below are key tradeoffs and the choices made for HTOS.

Event store vs relational source-of-truth

  • Event store: auditability and replay; more complexity for queries.
  • Relational DB: straightforward queries and ACID; harder to rebuild state without events.
  • Choice: primary relational state + event bus for replay/analytics.

Consistency vs availability

  • Strong consistency is simpler but reduces availability under partitions.
  • Eventual consistency improves availability but adds conflict handling.
  • Choice: consistent writes for authoritative order state; eventual consistency for derived views.

Monolith vs microservices

  • Monolith: easier initially; harder to scale fine-grained components.
  • Microservices: independent scaling at the cost of operational complexity.
  • Choice: modular services with clear message contracts.