a kafka consumer that deals with partition leader reelection and autobalance partition message consumption