Kafka模式对比纯Raft模式简表
Kafka模式 | 纯Raft模式 | ||
---|---|---|---|
一致性瓶颈所做的事 | Only Log | Log + State Machine (B+树 or LSM树) | 参考1 |
支持外部的模式 | Half Master/Master | Stateless (计算和存储分离) | 参考2 |
Batch/Locality优化 | Log比较容易 | 可做,但难一些,特别是State Machine | 参考3 参考4 |
磁盘优化 fsync/WAL/No Disk | Kafka已支持,外部系统(State Machine)需自我实现 | 可做,但现在很多未实现 | 参考5 参考6 参考7 |
Failure忍耐度 | 只剩后一个broker仍正常 | n/2+1 (n is cluster number) cluster=3:quorum=2; cluster=5:quorum=3 | |
忍耐度为2时磁盘/网络小倍数 | 3倍 | 5倍 | 参考8 |
单机磁盘写放大倍数 | 1 | 少10(如果LSM树) | |
第三方依赖 | Zookeeper(或Raft) | 全部自我实现 | 参考8 |
Membership管理模式 | 独裁(效率高)和终民主 | 全程民主 | 参考8 |
其他 | 还需进一步实现State Machine,但State Machine可以做到无单点限制 | 全部自我实现,但单点瓶颈过大 | 参考9 参考10 参考1 参考8 |
参考1:
相关文章