Kafka 分布式消息队列的特点及应用场景

时间:2022-12-13 09:17:03

Kafka的特点

1) 速度快、高吞吐量、分布式、多分区。

2) 无需停机即可扩展机器。

3) 通过将数据持久化到硬盘以及replication防止数据丢失。

4) 支持多消费者(重要特点)。

5)支持online(实时消费)和offline(离线消费,比如按天消费)的场景。

6)依赖Zookeeer集群,状态信息都写在Zookeeer集群里

7) Kafka消费都采用pull方式,即客户端comsumer主动拉取数据,客户端维护offset。客户端可以根据需要随时随地进行消费,更加灵活,而且对服务端压力小。

适用的场景

对于一些常规的消息系统,kafka是个不错的选择;容错、良好的扩展性及优势性能,kafka的使用主要还是用来处理日志。kafka尚未确保消息的发送与接收绝对可靠,比如消息重发、消息发送丢失等,因此只能用做"常规"的消息系统;到目前为止kafka并没有提供JMS中的"事务性"消息确认机制等企业级特性;

topo架构图

Kafka 分布式消息队列的特点及应用场景

在分布式系统中

Kafka 分布式消息队列的特点及应用场景