要解决的问题
1 存储数据
2 重复消费
- 将数据的生产和消费分开 (异步通信)
- 保证顺序
- 缓冲
Kafka 重要的消息组件
生产者
消费者
消费者组
Topic
Kafka对消息保存时,根据Topic 归类
Broker
一个Kafka实例称为一个Broker
partition
一个大的Topic 可以分为多个partition,用来做负载均衡。一个partition中的数据是有序的,不能保证多个partition之间的数据有序。如果数据必须有序,就放到一个partition中
offset
有几个Broker,最多就有几个备份。
kafka 消费是以消费者组为单位的(一个消费者,也是放在消费者组中的)。 一个消费者组消费一个topic 的数据,消费者组中不同消费者 只能 消费不同分区的数据。一个消费者只能消费 一个分区的数据。
如果一个topic 有两个分区,三个消费者来消费的话,有一个消费者什么也不做。 只能增加分区,才有用。
如果一个topic 有三个分区,两个消费者,后面突然再增加一个消费者&#x