Go banking API under contest constraints

Less is More. Except Error Handling.

A compact Go implementation of Rinha de Backend 2024/Q1, tuned for concurrent banking transactions with chi, pgx, PostgreSQL stored procedures, and NGINX load balancing.

  • Go 1.25
  • chi/v5
  • pgx/v5
  • PostgreSQL
  • NGINX

Performance envelope

The constraint is the architecture.

The implementation is intentionally small: two Go API instances, one NGINX balancer, and one PostgreSQL database sharing the challenge’s total CPU and memory budget.

  1. NGINX least_conn load balancer on :9999
  2. API x2 two Go/chi instances behind the proxy
  3. PostgreSQL stored procedures keep balance updates atomic
  4. k6 archived CI stress-test reports

Benchmark evidence

Stress-test results stay attached to reports.

The headline numbers are treated as evidence, not ornament. Use the archived reports and CI workflow to inspect each run instead of trusting a static badge.