Zero-Downtime Buffer

HookWatch's buffer service ensures you never miss a webhook, even during deployments, server restarts, or unexpected outages. Webhooks are automatically buffered and delivered when your server recovers.

How it works

The buffer sits between incoming webhooks and your destination server. It operates in three modes:

Proxy Mode

Normal

When your server is healthy, webhooks are forwarded directly with minimal latency. The buffer acts as a transparent proxy.

Buffer Mode

Server Down

When your server is unreachable, webhooks are stored in a Redis stream. They're kept safe until your server is back online.

Drain Mode

Recovering

When your server recovers, buffered webhooks are replayed in order. New webhooks continue to be forwarded normally.

Request flow

Webhook Provider (Stripe, GitHub, etc.)
          │
          ▼
    ┌─────────────┐
    │   Buffer    │◄── Health checks your destination
    │   Service   │
    └──────┬──────┘
           │
     ┌─────┴─────┐
     │           │
     ▼           ▼
┌─────────┐ ┌─────────┐
│  Proxy  │ │  Store  │
│ (fast)  │ │ (Redis) │
└────┬────┘ └────┬────┘
     │           │
     └─────┬─────┘
           │
           ▼
    Your Destination
       Server

Common use cases

Deployments

During zero-downtime deployments, there's often a brief window where your server is restarting. The buffer catches webhooks during this window.

Server restarts

Whether planned maintenance or unexpected crashes, webhooks are preserved and delivered once your server is back.

Network issues

Temporary network problems between HookWatch and your server won't cause webhook loss. They're buffered until connectivity is restored.

Scaling events

During auto-scaling or container orchestration events, the buffer protects against temporary unavailability.

Technical details

FeatureDetails
Storage backendRedis Streams
Health check intervalEvery 5 seconds
Buffer capacityBased on your plan
Ordering guaranteeFIFO (First-In, First-Out)
Drain rateConfigurable, default 100/sec

No configuration required

The buffer service is enabled by default for all HookWatch endpoints. There's nothing you need to configure - it just works.

Related