Replies: 2 comments 1 reply
-
|
I'm assuming you are talking about the partitioned consumer group feature in Orbit. It doesn't do automatic member management: even for elastic consumer groups the membership must be managed administratively (or programmatically). The reason being that it is difficult for it to do that management automatically and if you want automated management of elastic consumer group's membership it is better to do that at the process (or container) management level (which has an authoritative view of which processes or pods are running or not. So it's elastic in that you can add remove members at any time but it doesn't do that automatically. If you can have something get invoked each time you start or stop a pod (or on a periodic schedule) then that can use the library (or invoke the cg CLI tool) to automatically add/remove members. We may still add a new feature in the future to consumers in the server that would allow what you want (think being able to set a max acks pending value per subject or per hierarchy of subjects) and yet still be a JetSteam Consumer, meaning no need for partitions and client applications can start or stop pulling from the consumer at any time without having to manage a membership, but at the moment that is not there yet. |
Beta Was this translation helpful? Give feedback.
-
|
I see, so I need a stable numbers for pods and add them in partitioned consumer group? For example, if I have 3 pods in deployment, I need that pod impersonates itself as 1, another as 2 and the another as 3. When the pod starts, it derives valid member name (like consumer-1, consumer-2, consumer-3) and start consuming? |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
I have an urge to use NATS instead of Kafka for our next project, however I need to replicate kafka partitions (sequential processing of related messages and parallel procession of unrelated).
I read readme.md and unit tests, however I'm unsure about how it will scale up and down if no stable ordinal available.
For example, pod 1 starts and configures elastic consumer group with size = 10, running 1 consumer.
If I start another instance, it joins with different consumer name.
Can I have random consumer names in this scheme, because I don't have ordinal, like pod-1, pod-2, I have pod-, so every time deployment scales, it will join with new name. Is NATS cleans stale consumers or orphaned work queues will hang indefinitely?
Beta Was this translation helpful? Give feedback.
All reactions