Please Look into
KAFKA-7358 for the official description **
The DefaultPartitioner typically distributes using the hash of the keybytes, and falls back to round robin if there is no key. But there is currently no way to do Round Robin partitioning if you have keys on your messages without writing your own partitioning implementation.
I think it'd be helpful to have an implementation of straight Round Robin partitioning included with the library.