conductor-oss / conductor-oss/conductor

Add Redis Streams event queue provider

Open
#794 0 comments 0 reactions 0 assignees View on GitHub
enhancement
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.