uw-labs / proximo

Interoperable GRPC based publish/subscribe
GNU Lesser General Public License v3.0
41 stars 16 forks source link

Improve kafka consumer throughput #41

Closed mjgarton closed 5 years ago

mjgarton commented 5 years ago

Kafka consumer throughput was poor because, despite handling message reading and ack sending on different goroutines, these were effectively doing one message at a time because the message sending goroutine could not send to the toConfirmIds channel until the ack was being sent.

This splits things so that we don't block in this way any more and instead keep a slice of messages needing to be acked.