Skip to content

Latest commit

 

History

History
14 lines (13 loc) · 2.14 KB

kafka-vs-raft.md

File metadata and controls

14 lines (13 loc) · 2.14 KB

Kafka模式对比纯Raft模式简表

Kafka模式 纯Raft模式
一致性瓶颈所做的事 Only Log Log + State Machine
(B+树 or LSM树)
分布式下一致性Consistency的代价cost
支持外部的模式 Half Master/Master Stateless
(计算和存储分离)
BunnyRedis要解决Redis的一致性Consistency问题
Batch/Locality优化 Log比较容易 可做,但难一些,特别是State Machine 分布式思考:批发Batch是个好东西,用足它
分布式思考:近邻Locality是个好东西,用足它
磁盘优化 fsync/WAL/No Disk Kafka已支持,外部系统(State Machine)需自我实现 可做,但现在很多未实现 分布式思考:我们需要fsync吗?
分布式思考:我们需要WAL吗?
分布式思考:我们需要磁盘吗?
Failure忍耐度 只剩最后一个broker仍正常 n/2+1 (n is cluster number)
cluster=3: quorum=2;
cluster=5: quorum=3
忍耐度为2时磁盘/网络最小倍数 3倍 5倍 少就是多,多就是少
单机磁盘写放大倍数 1 最少10(如果LSM树)
第三方依赖 Zookeeper(或Raft) 全部自我实现 少就是多,多就是少
Membership管理模式 独裁(效率高)和最终民主 全程民主 少就是多,多就是少
其他 还需进一步实现State Machine,但State Machine可以做到无单点限制 全部自我实现,但单点瓶颈过大 BunnyRedis
Kafka is Database
分布式下一致性Consistency的代价cost
少就是多,多就是少