Kafka的优势
Kafka就是一个分布式的用于消息存储的消息队列。一般用于大数据的流式处理中。
一些常见的中间件:ActiveMQ,IBMMQ,RabbitMQ,ZMQ 但都不是分布式的。
Apache Kafka与传统消息系统相比,有以下不同:
它是分布式系统,易于向外扩展。
它同时为发布和订阅提供高吞吐量。
它支持多订阅者,当失败时能自动平衡消费者。
它将消息持久化到磁盘,因此可用于批量消费,允许多个消费者消费数据
Kafka的特性
-
高吞吐量、低延迟:kafka每秒可以处理几十万条消息,它的延迟最低只有几毫秒,每个topic可以分多个partition, consumer group 对partition进行consume操作。
(2)可扩展性:kafka集群支持热扩展。
(3)持久性、可靠性:消息被持久化到本地磁盘,并且支持数据备份防止数据丢失。
(4)容错性:允许集群中节点失败(若副本数量为n,则允许n-1个节点失败)。
(5)高并发:支持数千个客户端同时读写。 -
基本概念:Kafka是分布式发布 - 订阅消息系统,由LinkedIn开发后成为Apache项目。它有高吞吐量、可扩展等优势,支持点对点和发布订阅两种消息队列模式。其角色包括Broker、Producer、Consumer等,消息默认保存7天,由Zookeeper管理。安装需先准备JDK和Zookeeper,下载安装包解压、配置并分发到集群节点。
