Hey y'all, I've expanded the scope of this KIP slightly to include a
pluggable interface, RateLimiter.

After implementing this a few different ways, it's clear that the
configuration story is actually simpler with a pluggable model.
Out-of-the-box, we have just two configuration properties to tweak:
record.rate.limit and record.batch.rate.limit (subj to change ofc). These
are provided by built-in RecordRateLimiter and RecordBatchRateLimiter impls.

>From there, additional custom RateLimiters can be enabled with whatever
configuration they need. This is essentially the same pattern taken with
MetricsReporters and others.

I had originally envisioned that the set of built-in limits would expand
over time, eg individual put/poll/commit/flush limits. However, these can
all be throttled adequately with the proposed API by limiting overall
record and batch thruput.

Please let me know what you think. The voting thread is open.

Ryanne

On Fri, Apr 9, 2021, 1:41 PM Ryanne Dolan <ryannedo...@gmail.com> wrote:

> Hey y'all, I'd like to draw you attention to a new KIP:
>
>
> https://cwiki.apache.org/confluence/display/KAFKA/KIP-731%3A+Record+Rate+Limiting+for+Kafka+Connect
>
> Lemme know what you think. Thanks!
>
> Ryanne
>

Reply via email to