conductor-oss / conductor-oss/conductor
Add Redis Streams event queue provider
- Dominant language
- Java
- Stars
- 32.2k
- Forks
- 1k
- Avg merge
- 2d 5h
- Merged PRs (30d)
- 41
Description
## Summary
Conductor currently supports SQS, AMQP, and NATS as event queue providers but lacks a Redis Streams option. Since Redis is already the default persistence backend, a Redis Streams event queue would reduce infrastructure dependencies for many deployments.
## Desired Behavior
New `redis-event-queue` module providing:
- `RedisObservableQueue` — core implementation using XREADGROUP/XACK with Lettuce client
- `RedisEventQueueProvider` — queue factory with caching
- `RedisEventQueueConfiguration` — Spring Boot auto-configuration
- Dead letter queue (DLQ) support via separate stream
- Consumer group-based reliable messaging
Configuration prefix: `conductor.event-queues.redis.*`
## Prior Art
Community PR #700 by @mfechtner implemented a complete module (1130 additions) including configuration, tests, and Docker config.
Contributor guide
Research direction
Start by reviewing the existing SQS, AMQP, and NATS event-queue providers, then compare them with community PR #700. The new redis-event-queue module should cover RedisObservableQueue, RedisEventQueueProvider, RedisEventQueueConfiguration, consumer groups, XREADGROUP/XACK handling, a separate DLQ stream, caching, tests, and Docker configuration.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, redis, spring-boot
- Domain
- backend, databases, distributed-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100