DiceDB Proxy
Author: arpitbbhayaniCreated Mar 9, 2026Updated Jun 7, 2026
A horizontally scalable REST API proxy for DiceDB.
API
- Expose DiceDB commands over a REST API
- Follow the Upstash Redis REST API design as a reference
- Return consistent error response format across all endpoints
Authentication
- Support authentication via HTTP headers
- Support token rotation without downtime
Reactivity
- Support real-time push updates via SSE
- Internally use the DiceDB
OBSERVEcommand (commit) to power reactivity
Cluster Support
- Must work with DiceDB in cluster mode
Scalability
- Must be horizontally scalable, similar to Envoy
- Maintain connection pools to DiceDB upstream nodes
- Support configurable timeouts for upstream connections and client requests
- Handle graceful shutdown, draining in-flight requests cleanly
Security
- TLS support for inbound client connections and outbound DiceDB connections
Rate Limiting
- Per-token and per-IP rate limiting
Observability
- Structured logging with request tracing
- Prometheus-compatible metrics endpoint exposing latency, throughput, and error rates
- Health check endpoint for load balancers and orchestrators
Configuration
- All configuration via environment variables and/or a config file
- No hard-coded values
Deployment
- Docker image with a minimal base
- Kubernetes manifests or Helm chart
Internal Design
- Use Valkey C SDK as the base client
- Extend the SDK to support the
OBSERVEcommand for reactivity
Language
- C for easier extensibility in the future
Source: dicedb/dicedb