You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.adoc
+25-18Lines changed: 25 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,7 +10,7 @@
10
10
//
11
11
12
12
13
-
= parallel-consumer (beta)
13
+
= parallel-consumer
14
14
:icons:
15
15
:toc: macro
16
16
:toclevels: 3
@@ -52,10 +52,12 @@ Parallel Apache Kafka client wrapper with client side queueing, a simpler consum
52
52
53
53
Confluent's https://www.confluent.io/confluent-accelerators/#parallel-consumer[product page for the project].
54
54
55
-
WARNING: This is not a Confluent supported product.
56
-
It is an experimental alpha stage accelerator.
55
+
CAUTION: This is not a Confluent supported product.
57
56
See the <<Support and Issues>> section for more information.
58
57
58
+
IMPORTANT: This project has been stable and reached its initial target feature set in Q1 2021.
59
+
It is actively maintained by the CSID team at Confluent.
60
+
59
61
[[intro]]
60
62
This library lets you process messages in parallel via a single Kafka Consumer meaning you can increase consumer parallelism without increasing the number of partitions in the topic you intend to process.
61
63
For many use cases this improves both throughput and latency by reducing load on your brokers.
@@ -71,6 +73,15 @@ It also opens up new use cases like extreme parallelism, external data enrichmen
71
73
72
74
An overview article to the library can also be found on Confluent's https://www.confluent.io/blog/[blog]: https://www.confluent.io/blog/introducing-confluent-parallel-message-processing-client/[Introducing the Confluent Parallel Consumer].
73
75
76
+
[[demo]]
77
+
.Relative speed demonstration
78
+
--
79
+
.Click on the animated SVG image to open the https://asciinema.org/a/404299[Asciinema.org player].
@@ -197,7 +208,7 @@ The end-to-end latency of the responses to these answers needs to be as low as t
197
208
We can break out as described below into the tool for processing that step, then return to the Kafka Streams context.
198
209
* Provisioning extra machines (either virtual machines or real machines) to run multiple clients has a cost, using this library instead avoids the need for extra instances to be deployed in any respect.
199
210
200
-
== Feature List
211
+
== Features List
201
212
202
213
* Have massively parallel consumption processing without running hundreds or thousands of:
203
214
** Kafka consumer clients,
@@ -209,7 +220,10 @@ without operational burden or harming the cluster's performance
209
220
* Solution for the https://en.wikipedia.org/wiki/Head-of-line_blocking["head of line"] blocking problem where continued failure of a single message, prevents progress for messages behind it in the queue
210
221
* Per `key` concurrent processing, per partition and unordered message processing
211
222
* Offsets committed correctly, in order, of only processed messages, regardless of concurrency level or retries
212
-
* Vert.x non-blocking library integration (HTTP and any Vert.x future support)
223
+
* Vert.x and Reactor.io non-blocking library integration
224
+
** Non-blocking I/O work management
225
+
** Vert.x's WebClient and general Vert.x Future support
226
+
** Reactor.io Publisher (Mono/Flux) and Java's CompletableFuture (through `Mono#fromFuture`)
213
227
* Reactor non-blocking library integration
214
228
* Fair partition traversal
215
229
* Zero~ dependencies (`Slf4j` and `Lombok`) for the core module
For released changes, see the link:CHANGELOG.adoc[CHANGELOG].
692
-
693
-
=== Short Term - What we're working on nowish ⏰
694
-
695
-
* Depth~ first or breadth first partition traversal
696
-
* JavaRX and other streaming modules
706
+
For features in development, have a look at the https://github.com/confluentinc/parallel-consumer/issues[GitHub issues].
697
707
698
708
=== Medium Term - What's up next ⏲
699
709
700
-
* https://github.com/confluentinc/parallel-consumer/issues/21[Automatic fanout] (automatic selection of concurrency level based on downstream back pressure) (https://github.com/confluentinc/parallel-consumer/pull/22[draft PR])
701
-
* Support for general Vert.x Verticles (non-blocking libraries)
702
-
* Dead Letter Queue (DLQ) handling
703
-
* Non-blocking I/O work management
704
-
** More customisable handling of HTTP interactions
705
-
** Chance to batch multiple consumer records into a single or multiple http request objects
* More customisable handling[https://github.com/confluentinc/parallel-consumer/issues/65] of HTTP interactions
714
+
* Chance to https://github.com/confluentinc/parallel-consumer/issues/18[batch multiple consumer records] into a single or multiple http request objects
709
715
710
716
=== Long Term - The future ☁️
711
717
712
-
* Apache Kafka KIP?
713
-
* Call backs only offset has been committed
718
+
* https://github.com/confluentinc/parallel-consumer/issues/21[Automatic fanout] (automatic selection of concurrency level based on downstream back pressure) (https://github.com/confluentinc/parallel-consumer/pull/22[draft PR])
Copy file name to clipboardExpand all lines: src/docs/README.adoc
+25-18Lines changed: 25 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,7 +10,7 @@
10
10
//
11
11
12
12
13
-
= parallel-consumer (beta)
13
+
= parallel-consumer
14
14
:icons:
15
15
:toc: macro
16
16
:toclevels: 3
@@ -52,10 +52,12 @@ Parallel Apache Kafka client wrapper with client side queueing, a simpler consum
52
52
53
53
Confluent's https://www.confluent.io/confluent-accelerators/#parallel-consumer[product page for the project].
54
54
55
-
WARNING: This is not a Confluent supported product.
56
-
It is an experimental alpha stage accelerator.
55
+
CAUTION: This is not a Confluent supported product.
57
56
See the <<Support and Issues>> section for more information.
58
57
58
+
IMPORTANT: This project has been stable and reached its initial target feature set in Q1 2021.
59
+
It is actively maintained by the CSID team at Confluent.
60
+
59
61
[[intro]]
60
62
This library lets you process messages in parallel via a single Kafka Consumer meaning you can increase consumer parallelism without increasing the number of partitions in the topic you intend to process.
61
63
For many use cases this improves both throughput and latency by reducing load on your brokers.
An overview article to the library can also be found on Confluent's https://www.confluent.io/blog/[blog]: https://www.confluent.io/blog/introducing-confluent-parallel-message-processing-client/[Introducing the Confluent Parallel Consumer].
71
73
74
+
[[demo]]
75
+
.Relative speed demonstration
76
+
--
77
+
.Click on the animated SVG image to open the https://asciinema.org/a/404299[Asciinema.org player].
@@ -195,7 +206,7 @@ The end-to-end latency of the responses to these answers needs to be as low as t
195
206
We can break out as described below into the tool for processing that step, then return to the Kafka Streams context.
196
207
* Provisioning extra machines (either virtual machines or real machines) to run multiple clients has a cost, using this library instead avoids the need for extra instances to be deployed in any respect.
197
208
198
-
== Feature List
209
+
== Features List
199
210
200
211
* Have massively parallel consumption processing without running hundreds or thousands of:
201
212
** Kafka consumer clients,
@@ -207,7 +218,10 @@ without operational burden or harming the cluster's performance
207
218
* Solution for the https://en.wikipedia.org/wiki/Head-of-line_blocking["head of line"] blocking problem where continued failure of a single message, prevents progress for messages behind it in the queue
208
219
* Per `key` concurrent processing, per partition and unordered message processing
209
220
* Offsets committed correctly, in order, of only processed messages, regardless of concurrency level or retries
210
-
* Vert.x non-blocking library integration (HTTP and any Vert.x future support)
221
+
* Vert.x and Reactor.io non-blocking library integration
222
+
** Non-blocking I/O work management
223
+
** Vert.x's WebClient and general Vert.x Future support
224
+
** Reactor.io Publisher (Mono/Flux) and Java's CompletableFuture (through `Mono#fromFuture`)
211
225
* Reactor non-blocking library integration
212
226
* Fair partition traversal
213
227
* Zero~ dependencies (`Slf4j` and `Lombok`) for the core module
For released changes, see the link:CHANGELOG.adoc[CHANGELOG].
613
-
614
-
=== Short Term - What we're working on nowish ⏰
615
-
616
-
* Depth~ first or breadth first partition traversal
617
-
* JavaRX and other streaming modules
627
+
For features in development, have a look at the https://github.com/confluentinc/parallel-consumer/issues[GitHub issues].
618
628
619
629
=== Medium Term - What's up next ⏲
620
630
621
-
* https://github.com/confluentinc/parallel-consumer/issues/21[Automatic fanout] (automatic selection of concurrency level based on downstream back pressure) (https://github.com/confluentinc/parallel-consumer/pull/22[draft PR])
622
-
* Support for general Vert.x Verticles (non-blocking libraries)
623
-
* Dead Letter Queue (DLQ) handling
624
-
* Non-blocking I/O work management
625
-
** More customisable handling of HTTP interactions
626
-
** Chance to batch multiple consumer records into a single or multiple http request objects
* More customisable handling[https://github.com/confluentinc/parallel-consumer/issues/65] of HTTP interactions
635
+
* Chance to https://github.com/confluentinc/parallel-consumer/issues/18[batch multiple consumer records] into a single or multiple http request objects
630
636
631
637
=== Long Term - The future ☁️
632
638
633
-
* Apache Kafka KIP?
634
-
* Call backs only offset has been committed
639
+
* https://github.com/confluentinc/parallel-consumer/issues/21[Automatic fanout] (automatic selection of concurrency level based on downstream back pressure) (https://github.com/confluentinc/parallel-consumer/pull/22[draft PR])
0 commit comments