消费者组
kafak若干的消费者是需要放在一个分组当中的,而进行消费的时候也是以组为单位的。
Offset维护
有一个主题,有三个分区,消息在进入不同的分区进行存储的时候,每个分区都有自己offset记录,来表示这条消息在分区当中的位置。
这里面记录的就是每一个消费者组中的每一个消费者消费的位置。包括每个主题,某一个分区消费到什么位置,现在是记录在了主题当中。
消费者在消费了数据之后,是要去更新消费的位置。
如果还是使用的是push方式,那么很难保证每个消费者消费的速率是一样的,这样很难适应不同速率的消费者。push模式是尽可能以最快的速度传递消息,但是这样很容易造成consumer来不及处理消息。push对于消费者来说是不适合的。
而pull模式对于消费者来说是比较适合的,根据consumer能力,适当的去消费消息。
生产者生产出来的数据会及时的推送到topic中存储,producer会像broker中发送数据,采用的是push模式。而consumer根据自己的消化能力,处理能力去向broker中去主动的拉取数据。