Hifadhi tasks katika time-bucketed / priority queue iliyowekwa index kwa due time, poll tasks zinazostahili sasa tu, na uzikabidhi kwa workers za idempotent kwa at-least-once delivery. Kamwe usiskan rows milioni 10 kila tick — weka index kwa fire time ili kila poll iguse kile kinachostahili tu.
Usanifu
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
