a. ⽣产者定期向主题发送消息。
    b. Kafka代理存储为该特定主题配置的分区中的所有消息。 它确保消息在分区之间平等共享。 如果⽣产者发送两个消息并且有两个分区,Kafka将在第⼀分区中存储⼀个消息,在第⼆分区中存储第⼆消息。
    c. 消费者订阅特定主题。
    d. ⼀旦消费者订阅主题,Kafka将向消费者提供主题的当前偏移,并且还将偏移保存在Zookeeper系综中。
    e. 消费者将定期请求Kafka(如100 Ms)新消息。
    f. ⼀旦Kafka收到来⾃⽣产者的消息,它将这些消息转发给消费者。
    g. 消费者将收到消息并进⾏处理。
    h. ⼀旦消息被处理,消费者将向Kafka代理发送确认。
    i. ⼀旦Kafka收到确认,它将偏移更改为新值,并在Zookeeper中更新它。 由于偏移在Zookeeper中维护,消费者可以正确地读取下⼀封邮件,即使在服务器暴⼒期间。
    j. 以上流程将重复,直到消费者停⽌请求。
    k. 消费者可以随时回退/跳到所需的主题偏移量,并阅读所有后续消息。