目录:
- 什么是Kafka
- 为什么使用Kafka
- Kafka应用场景
- Kafka特点
- Kafka与RabbitMQ比较
什么是Kafka
Kafka是LinkedIn公司开发的一套分布式、多分区、多副本且基于Zookeeper协调的开源流处理平台。
为什么使用Kafka
解耦、异步、削峰、冗余、顺序化、扩展性非常灵活。
Kafka应用场景
MQ、网站活动跟踪、日志聚合分析。
Kafka特点
1、基于磁盘存储:Kafka的消息被提交到磁盘,根据设置的规则进行保留数据,且每个主题可以设计单独的保留规则。Kafka充分利用磁盘物理特性,及随机写入慢(磁头冲停),顺序写入快(磁头悬浮),它采用顺序写的方式来存储数据。
2、伸缩性:用户可先使用单个Broker,待数据量增长时可在线对集群进行扩展而不影响系统的可用性(无需重启服务)。
3、高性能:通过横向扩展生产消费者、Broker。
4、多个生产者:不管客户端使用单个还是多个主题,都支持多个生产者。
5、多个消费者:支持多个消费者从一个单独的消息流读取数据,而且消费者之间互不影响。