今天公司内部琼琼分享了kafka,也是我一直想听的,本文主要资料来源于该同学的分享,稍作整理,重点的个人理解,留作记录,否则怕过几天就忘记了。。
一、简介
概念 | 定义 | 理解 |
---|---|---|
kafka | 分布式,基于发布/订阅的消息系统 | 集群,时间驱动 |
使用语言 | scala | scala可能确实不错 |
特点 | 快速, 可扩展, 可持久化, 高吞吐量, 近实时, 支持消息分区, 批量读写消息 | |
设计目标 | 高吞吐率 | 利用磁盘顺序读写的特性;topic可以划分为多个partition,提高并发性;支持数据批量发送和拉取 |
访问与持久化常数时间复杂度 | 未得证 | |
同步和异步复制两种HA | HA: 高可用性 | |
分布式消费 ,保证每个Partition消息顺序传输 | 一个group里不会有多个consumer消费一个partition,所以可以保证一个partition消息顺序性 | |
支持在线水平扩展 |