Run Render25 directly in Cursor: install the new plugin from Marketplace
InfrastructureJanuary 28, 2026 · 7 min read

Handling 100,000 Webhook Events per Second with Go & NATS JetStream

Deep dive into Render25's distributed event bus architecture, ensuring zero-loss delivery notifications, automatic retries with exponential backoff, and signature verification.

Ren Lysea
Ren Lysea@renlysea
Founder & CEO

When you send millions of transactional emails, monitoring their status in real time is vital. Render25 dispatches webhook callbacks for seven distinct lifecycle stages: `delivered`, `opened`, `clicked`, `bounced`, `complained`, `deferred`, and `failed`.

Handling this volume without dropping events requires a resilient distributed event bus.

Why We Chose NATS JetStream

We benchmarked Kafka, RabbitMQ, and NATS JetStream under high ingestion loads. NATS JetStream demonstrated sub-millisecond publishing latency, extremely low memory footprints in Go, and deterministic consumer acknowledgments.

Cryptographic HMAC-SHA256 Signatures

Every webhook payload dispatched to your endpoint is cryptographically signed using an HMAC-SHA256 signature passed in the `X-Render25-Signature` header, preventing replay attacks and payload tampering.

Ready to send with Render25?

Create an account and start sending in under 2 minutes.

Get Started Free →