Describe the feature
Hi,
vertx-kafka-client has been upgraded to kafka-client 4.2.
The underlying library already ships with KafkaShareConsumer, the Share Groups consumer introduced in KIP-932 and flaged as production-ready in Kafka 4.2.
I was wondering if there are any plans to expose this in the Vert.x API, similarly to how KafkaConsumer is currently wrapped.
Share Groups are a big deal for use cases like job queues and multi-tenant/multi-app workloads because they finally give Kafka proper per-record acknowledge semantics (ACCEPT / RELEASE / REJECT) and let multiple consumers share the same partition cooperatively, without the partition-per-consumer constraint of classic consumer groups.
I don't know how difficult it is to wrap a new type of consumer in vert.x event loop with back-pressure etc, but I'm really interested to avoid using worker/virtual thread verticles with official apache kafka blocking client in vert.x application.
A few questions to understand where things stands:
- Is this already on the roadmap for 5.1 or a later milestone?
- Any known blockers or design concerns with integrating Share Groups into the Vert.x threading model or current vertx-kafka-library?
Thanks for the great work on the Kafka 4 upgrade.
Contribution
No response
Describe the feature
Hi,
vertx-kafka-client has been upgraded to kafka-client 4.2.
The underlying library already ships with KafkaShareConsumer, the Share Groups consumer introduced in KIP-932 and flaged as production-ready in Kafka 4.2.
I was wondering if there are any plans to expose this in the Vert.x API, similarly to how KafkaConsumer is currently wrapped.
Share Groups are a big deal for use cases like job queues and multi-tenant/multi-app workloads because they finally give Kafka proper per-record acknowledge semantics (ACCEPT / RELEASE / REJECT) and let multiple consumers share the same partition cooperatively, without the partition-per-consumer constraint of classic consumer groups.
I don't know how difficult it is to wrap a new type of consumer in vert.x event loop with back-pressure etc, but I'm really interested to avoid using worker/virtual thread verticles with official apache kafka blocking client in vert.x application.
A few questions to understand where things stands:
Thanks for the great work on the Kafka 4 upgrade.
Contribution
No response