Idempotency, retry-with-jitter, and a dead-letter queue, as three standalone Go libraries plus a runnable HTTP demo -- fifteen ways the payments-style plumbing most real systems get subtly wrong quietly breaks.
Nobody has started this yet — be first.
No published tickets in this project yet.
About this project
A production-shaped reliability layer, as three independently importable Go libraries and a runnable HTTP service that demonstrates all of them against a deliberately flaky (but entirely in-process) simulated downstream: pkg/idempotency (Stripe-style Idempotency-Key semantics -- an operation executes at most once per key, no matter how many times the request is retried or races itself, with both a memory and a Redis backend), pkg/retry (a generic exponential-backoff-with-jitter executor, decoupled from HTTP or idempotency, usable standalone), and pkg/dlq (a dead-letter store: jobs that exhaust retries land here in full, instead of disappearing into a log line).
Ten tickets are bugs deliberately injected into an otherwise-working codebase (a sign flip in a background janitor that evicts live keys almost immediately, a Redis Lua ARGV-ordering mismatch that falsely conflicts every retried request, a zero-value bug that silently reports success without ever running the operation); five are enhancements that do not exist yet, each with a compile-only stub so the codebase and the verification tests build before the real implementation is written. Every ticket has a dedicated Go test that goes green when the fix is correct.
Clone it
$git clone https://github.com/nishant1821/GolangDevTraining.gitHow to run it locally, step by step.
MaxAttempts: 0