Kafka定义
1. Kafka的定义
A. 定义
Kafka是一个分布式的基于发布/订阅模式的消息队列,主要用户大数据实时处理领域。
2. 消息队列
A. 消息队列的模式
a. 点对点模式(一对一)
消费者主动拉取数据,消息收到后消息被清除。队列支持多个消费者,但是对于一个消息而言只能被一个消费者消费。
b. 基于订阅/发布模式(一对多)
消息消费后不会被清除消息。
B. 消息队列的好处
a. 应用解耦
屏蔽生产者与消费者之间的异构性。
b. 异步处理
c. 消峰限流
3. Kafka的特点
A. Kafka的特点
a. 采用poll模式,消息消费的速率由下游的消费者(实时机选框架)决定。
b. Kafka提供了消息持久化机制,无论消费与否,都会存储。而且通过副本冗余机制提供数据的容错性。
c. Kafka是一个分布式的架构,可以吞吐海量数据,可以保证数据不丢失。但是不能确保精确的事务性,相当于牺牲精确的事务性而提高数据的吞吐量。