Redis-backed · Spring Boot · Dockerized

Priority Messaging & Real-time Delivery

A production-grade Redis messaging service with hybrid push/poll delivery, priority queues, TTL expiry, acknowledgement-based recovery, and rate-limited producers.

api-example.sh
# Publish a priority message with TTL
curl -X POST https://api.blinkq.dev/v1/messages \
-H "Authorization: Bearer sk_live_..." \
-d '{
"channel": "alerts",
"payload": "Server CPU > 90%",
"priority": 9,
"ttl": 60
}'
# Poll — blocking until message arrives
curl https://api.blinkq.dev/v1/messages/poll \
-H "Authorization: Bearer sk_live_..."
200 OK — Priority-9 message delivered in <2ms

Built for reliability — not just the happy path

<2ms
p99 Message Latency
5 DSs
Redis Data Structures
ACK+DLQ
Fault Tolerance Model

Core Innovations

Five challenges solved, out of the box

Built to tackle the real pain points of distributed messaging — not just the happy path.

Priority Queue Messaging

Messages are delivered by priority (0–10) using Redis Sorted Sets scored by priority + timestamp. System alerts always jump the queue ahead of analytics events.

Hybrid Push / Poll Delivery

Consumers that support real-time get messages via Redis Pub/Sub. Others fall back to long-polling — the system detects capability and switches automatically.

Message TTL & Expiry

Every message carries a TTL. Redis expires stale keys automatically — no cron jobs needed, no delivery of outdated data to consumers.

Acknowledgement & Recovery

Consumers ACK each message. If an ACK isn't received, the message is re-queued. After N retries it moves to a dead-letter queue for inspection.

Rate-Limited Producers

Sliding-window rate limits via Redis INCR + EXPIRE prevent any single producer from flooding the system. Per-key limits, zero extra infrastructure.

Stateless REST API

Publish, poll, and ACK with plain HTTP. No SDK required — any language, any framework. POST /messages · GET /messages/poll · POST /messages/ack.

How it works

From publish to reliable delivery in three steps

Step 01

Authenticate & Get a Key

Sign up, create a project, and generate a scoped API key. All endpoints are authenticated — rate limits are applied per key automatically.

Step 02

Publish with Priority & TTL

POST a message to any channel with a priority (0–10) and optional TTL. The Redis Sorted Set engine ensures high-priority messages are always delivered first.

Step 03

Consume, ACK & Recover

Poll or subscribe to receive messages. Send an ACK to confirm delivery. If a consumer crashes, unACK'd messages are re-queued and eventually dead-lettered.

API Reference

Plain HTTP. No SDK required.

All endpoints are stateless, authenticated, and rate-limited. Integrate from any language in minutes — curl, Python, Java, Go, it doesn't matter.

  • POST /messages — publish with priority (0–10) & TTL
  • POST /messages/bulk — batch publish up to 100 messages
  • GET /messages/poll — long-poll until message arrives
  • POST /messages/ack — confirm delivery, clear from queue
  • GET /dead-letter — inspect failed messages after N retries
POST/v1/messages
{
  "channel": "alerts",
  "payload": "Server CPU > 90%",
  "priority": 9,
  "ttl": 60
}
GET/v1/messages/poll?channel=alerts&timeout=30
{
  "id": "msg_xk92mf",
  "channel": "alerts",
  "payload": "Server CPU > 90%",
  "priority": 9,
  "ttl": 60,
  "deliveredAt": "2026-04-19T05:20:00Z"
}

Ship reliable messaging without the complexity

Priority queues, hybrid push/poll, ACK-based recovery, and Redis-native rate limiting — all behind a simple REST API. Sign up and publish your first message in under two minutes.