redis-streams-rails
Installation
SKILL.md
Redis Streams
Redis Streams is the "I already have Redis, give me Kafka-ish semantics without a new operational dependency" option. Good up to medium throughput, single-region, and short retention. Outgrows the pattern at high throughput / long retention — that's Kafka territory.
The opinion
Use Redis Streams when you already run Redis (you almost certainly do) and you need pub/sub-with-history + consumer groups, but don't yet justify Kafka's operational cost. Cap streams with MAXLEN. Use consumer groups with manual acknowledgement. Periodically claim entries idle for > N minutes (PEL handling). Plan to migrate to Kafka if throughput exceeds ~10k events/sec sustained or you need cross-region replication.
Why Redis Streams over plain pub/sub
| Feature | Redis pub/sub | Redis Streams |
|---|---|---|
| Persistence | None (drop on publish if no subscriber) | Disk + AOF |
| Replay | None | Yes (read from any offset) |
| Consumer groups | No | Yes |
| Acknowledgement | No | Yes (XACK) |
| Pending tracking | No | Yes (XPENDING) |
| Memory growth | None | Bounded with MAXLEN |