Parallel Apache Kafka client wrapper with per message ACK, client side queueing, a simpler consumer/producer API with key concurrency and extendable non-blocking IO processing.
Use a central cache to share rate limit info amongst processing cluster, to implement coordination of rate limit exhaustion to prevent accidental overrun while effectively exhausting the available credits.
Use a central cache to share rate limit info amongst processing cluster, to implement coordination of rate limit exhaustion to prevent accidental overrun while effectively exhausting the available credits.
https://dzone.com/articles/introduction-jcache-jsr-107 https://github.com/vladimir-bukhtoyarov/bucket4j vs https://github.com/mokies/ratelimitj
resilience4j doesn't support distriubted rate limiting: https://github.com/resilience4j/resilience4j/issues/350#issuecomment-720961836