I have the following scenario.
We were load testing our application in Cloud on K8s. Our inbound messages are coming over Kafka and we are writing back to Kafka. Our architecture is such that where Kafka threads push the message onto disruptor(blocking wait strategy, 512 size) and business thread takes the message out of the disruptor to process. To simulate load we primed our Kafka topic(4 partitions) with close 500K messages when the application was not running. We then started our application to gauge the load.
What we saw was disruptor fills up completely with 0 capacity remaining and then start draining and this continues over and over.
Is this the right behavior or are we using disruptors in the wrong way? Please share your thoughts?