Hi folks, I just open-sourced Ursula, a self-hosted, multi-node server for HTTP event streams built on ElectricSQL’s Durable Streams Protocol. Architecture summary:

  • thread-per-core x multi-Raft
  • in-memory hot ring on the write path, S3 as cold tier
  • writes commit at Raft quorum in sub-50ms

Architecture: <a href=“https://ursula.tonbo.io/docs/architecture/overview” rel=“ugc”>https://ursula.tonbo.io/docs/architecture/overview</a> Benchmark with Raft quorum:

  • 5.9x writes vs the Node.js Durable Streams by official, 5.2x vs S2 Lite
  • 6.1ms p99 SSE fan-out to 1000 subscribers (160x lower than DS reference, 18x lower than S2 Lite)
  • Replication based on multi-Raft quorum mode suffers minimal durability loss compared to S3

Ursula on 3 x c7g.4xlarge, baselines on 1 x c7g.4xlarge. Full methodology: <a href=“https://ursula.tonbo.io/benchmark” rel=“ugc”>https://ursula.tonbo.io/benchmark</a> Comments