Görevleri, due time'a göre anahtarlanmış bir zamana göre bucket'lanmış / priority queue'da saklayın, yalnızca şu anda due olan görevleri poll edin ve onları at-least-once teslimat ile idempotent worker'lara verin. Her tick'te asla 10 milyon satır taramayın — fire time'a göre index'leyin, böylece her poll yalnızca due olana dokunur.
Mimari
API ─▶ Task store (DB/Redis ZSET, score = due_ts) ── 10M tasks, sharded
│
Poller (leader per partition) ── ZPOPMIN due<=now ──▶ Ready queue (Kafka)
│ leader election (etcd/ZK) │
▼ ▼
other pollers idle/standby Worker pool (idempotent)
└─ ack ✔ / retry ✖ ─▶ DLQ
