写在前面
消息队列是分布式系统中的重要组件,主要解决应用耦合,异步消息,流式计算等功能。高可用,可伸缩和最终一致性架构,是大型分布式系统不可缺少的中间件。
简单梳理
Kafka 的特性:
- 高吞吐量、低延迟:kafka 每秒可以处理几十万条消息,它的延迟最低只有几毫秒,每个 topic 可以分多个 partition, consumer group 对 partition 进行 consume 操作;
- 可扩展性:kafka 集群支持热扩展;
- 持久性、可靠性:消息被持久化到本地磁盘,并且支持数据备份防止数据丢失;
- 容错性:允许集群中节点失败(若副本数量为 n, 则允许 n-1 个节点失败);
- 高并发:支持数千个客户端同时读写;