Switch language한국어
Back to the list

The Moment We Realized Our Treasure Hunt Engine Was Lying to Us

TL;DR AI

Key summary

2 min read
  1. A treasure hunt platform kept hitting new bottlenecks as it scaled, from Redis and PostgreSQL lag to memory pressure, tail latency, and OOM crashes.

  2. The team tried replicas, sharding, and other fixes across Elixir/Phoenix, Kafka, Redis, PostgreSQL, and Citus, but the stateful design kept limiting growth.

  3. They ultimately abandoned the stateful monolith and moved to bounded contexts, starting with a stateless Hunt State Service that validates actions and emits immutable Kafka events.

  4. The redesign shifts the system toward event-driven scaling, reducing in-memory state and making fan-out, WebSocket delivery, and downstream services easier to scale.

Read the original