Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pinned & Overflow Consumers #1702

Draft
wants to merge 10 commits into
base: main
Choose a base branch
from
Draft

Pinned & Overflow Consumers #1702

wants to merge 10 commits into from

Conversation

Jarema
Copy link
Member

@Jarema Jarema commented Aug 23, 2024

This is a draft implementation for https://github.com/nats-io/nats-architecture-and-design/blob/main/adr/ADR-42.md

From the ADR:

We have a class of feature requests that all come down to adding behaviours on a consumer that affects delivery to groups of clients who interact with the consumer.

Some examples:

A single client should receive all messages from a consumer and if it fails another should take over
Groups of related clients should be organised such that certain clients only receive messages when various conditions are met
Groups of clients should access a Consumer but some should have higher priority than others for receiving messages
A consumer should deliver messages to clients in a specific grouping such that related messages all go to the same client group
The proposed feature here address some of these needs while paving the way for future needs to be addressed within this >framework and under this umbrella feature called Pull Consumer Groups.

The current focus is around providing building blocks that can be used to solve higher order problems client-side.

Draft status will be taken of after branch is cleared.

Signed-off-by: Tomasz Pietrek tomasz@nats.io

Jarema and others added 10 commits July 5, 2024 14:53
Signed-off-by: Tomasz Pietrek <tomasz@nats.io>
Signed-off-by: Tomasz Pietrek <tomasz@nats.io>
Signed-off-by: Tomasz Pietrek <tomasz@nats.io>
Signed-off-by: Tomasz Pietrek <tomasz@nats.io>
Signed-off-by: Tomasz Pietrek <tomasz@nats.io>
Signed-off-by: Tomasz Pietrek <tomasz@nats.io>
Signed-off-by: Tomasz Pietrek <tomasz@nats.io>
Signed-off-by: Tomasz Pietrek <tomasz@nats.io>
…` and `PriorityGroup` respectively.

Validate in `Consume()` that the priority group option matches the consumer group(s) configuration.

Signed-off-by: Jean-Noël Moyne <jnmoyne@gmail.com>
Signed-off-by: Jean-Noël Moyne <jnmoyne@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants