Kafka学习整理
1、Kafka都有哪些特点
- 高吞吐量、低延迟:kafka每秒可以处理几十万条消息,它的延迟最低只有几毫秒,每个topic可以分多个partition, consumer group 对partition进行consume操作。
- 可扩展性:kafka集群支持热扩展,每个主题(topic) 包含多个分区(partition),主题中的分区可以分布在不同的主机(broker)中, 在运行期间可以轻松地扩展或收缩(可以添加或删除代理),而不会宕机
- 持久性、可靠性:消息被持久化到本地磁盘,并且支持数据备份防止数据丢失
- 容错性:允许集群中节点失败(若副本数量为n,则允许n-1个节点失败)
- 高并发:支持数千个客户端同时读写
2、Kafka分区的目的
分区对于 Kafka 集群的好处是:实现负载均衡。分区对于消费者来说,可以提高并发度,提高效率。
Kafka消息的有序性
kafka 的每个 partition 中的消息在写入磁盘时是以append方式追加到文件中,都是有序的,而且单独一个 partition 只能由一个消费者去消费,可 以在里面保证消息的顺序性。但是分区之间的消息是不保证有序的。