BrighterCommand / BrighterCommand/Brighter

[Feature] For the Redis Gateway provide Cloud Events JSON as an alternative to Brighter's propietary message format

Open
#3,615 0 comments 0 reactions 0 assignees View on GitHub
.NET 0 - Backlog feature request help wanted V10.X
Dominant language
C#
Stars
2.5k
Forks
296
Avg merge
1d 11h
Merged PRs (30d)
21

Description

**Is your feature request related to a problem? Please describe.**
Where we have built a messaging system over Redis, we used a proprietary format for the event that we serialize to the store. This prevents interop with other messaging frameworks, as both producer and consumer must understand our format.

**Describe the solution you'd like**

* We need to continue supporting our proprietary Brighter format, as we have users of our Redis messaging.
* Add support for [CloudEvents JSON format](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/formats/json-format.md). This should thus be an option described on Subscription and Publication (i.e., a RedisMessageFormat with Brighter and CloudEvents as options).
* If we use CloudEvents, we use a different creator and publisher than if we use Brighter.

**Describe alternatives you've considered**
For messaging, we can assume that the producer and consumer use Brighter (this assumption will not be true for Streams, but that is a separate concern). If you are using Redis as a queue in this circumstance, you likely need "decoupled invocation" over a full EDA, and so you are probably able to manage both sides. Even if we support cloud events in JSON format, your consumer may still not understand them. In that case, we could stick with our format. However, it would be better to be a good citizen here.

Contributor guide

Open the contributing guide

Research direction

Start by locating the Redis Gateway's Subscription and Publication options and the existing Brighter message creator and publisher. Trace how the current proprietary format is selected and serialized, then define what done means: preserving Brighter support while adding selectable CloudEvents JSON handling for both subscriptions and publications.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, redis
Domain
backend, distributed-systems
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.