kafka模型理解

1、消息发送至一个topic,而这个topic可以由多个partition组成,每条消息在partition中的位置称为offset

2、消息存在有效期,如果设置为2天,则消息2天后会被删除

3、每个consumer可以消费消息,消息的当前最新消息称为偏移量offset(注意与前面的offset相区分,前面说的是消息的位置,这里是指消息被消费的位置)

4、consumer消费消息一般都是线性读取,但也可以按任意顺序读取

5、kafka统一了jms消息模型。

      在jms消息模型中,存在queue(队列模式)和pulish/subscribe(发布/订阅)两种模式。在队列模式下,一条消息只能被所有的消费者中的一个消费,在发布/订阅模式下,一条消息可以被任意一个消费者所消费。

      kafka中,去掉了queue和publish/subscribe模式,采用了消费者组来统一模型,每一条消息只能被消费者组中的一个所消费,当所有的消费者集中于一个消费者组中,则实现了queue模式,当所有的消费者一一分散在消费者组中,则实现了publish/subscribe模式。

6、consumer消费消息时,采取的是pull模式。

原文地址:https://www.cnblogs.com/gudi/p/8419942.html