I've been looking at the new producer api with anticipation, but have not fired it up yet.
One question I have, is it looks like there's no longer a 'batch' send mode (and I get that this is all now handled internally, e.g. you send individual messages, that then get collated and batched up and sent out). What I'm wondering, is whether there's added overhead in the producer (and the client code) having to manage all the Future return Objects from all the individual messages sent? If I'm sending 100K messages/second, etc., that seems like a lot of async Future Objects that have to be tickled, and waited for, etc. Does not this cause some overhead? If I send a bunch of messages and then store all the Future's in a list, and then wait for all of them, it seems like a lot of thread contention. On the other hand, if I send a batch of messages, that are likely all to get sent as a single batch over the wire (cuz they are all going to the same partition), wouldn't there be some benefit in only having to wait for a single Future Object for the batch? Jason