Hi
I would like to get some feedback on design choices with kafka consumers.
We have an application that a consumer reads a message and the thread does
a number of things, including database accesses before a message is
produced to another topic. The time between consuming and producing the
message on the thread can take several minutes. Once message is produced to
new topic, a commit is done to indicate we are done with work on the
consumer queue message. Auto commit is disabled for this reason.

I'm using the high level consumer and what I'm noticing is that zookeeper
and kafka sessions timeout because it is taking too long before we do
anything on consumer queue so kafka ends up rebalancing every time the
thread goes back to read more from consumer queue and it starts to take a
long time before a consumer reads a new message after a while.

I can set zookeeper session timeout very high to not make that a problem
but then i have to adjust the rebalance parameters accordingly and kafka
won't pickup a new consumer for a while among other side effects.

What are my options to solve this problem? Is there a way to heartbeat to
kafka and zookeeper to keep both happy? Do i still have these same issues
if i were to use a simple consumer?

Thanks

Reply via email to