摘要
本文介绍了Heraclius,一个基于拜占庭容错(BFT)的可扩展分布式键值存储数据库系统,旨在应用于现代支付系统。Heraclius通过并行执行交易实现高吞吐量,并利用新型BFT协议确保在恶意攻击和静默数据损坏等情况下仍能保持高可用性和正确性。
核心观点
- 现有分布式系统设计缺乏对拜占庭故障的防御,依赖外部技术缓解风险,而Heraclius通过软件自动缓解风险,提高系统安全性。
- 支付系统需要速度、低成本、高可用性和计算正确性,并在对抗性环境中运行,BFT技术更适合此类系统。
- Heraclius采用两层网络架构,由协调器集群和分片集群组成,协调器集群处理外部请求并分配到分片集群,分片集群负责数据操作。
- 系统通过验证跨集群请求和响应的真实性和完整性,保留整体系统的BFT保证,实现数据分区和并行处理请求。
关键数据
- Heraclius原型实现最多支持256个节点,实现每秒110千次操作的交易量,交易延迟为0.2秒。
- 系统吞吐量在32个分片和协调器集群时达到峰值,超过32个集群后性能趋于平稳。
研究结论
- Heraclius在BFT保证下实现了可扩展性,但与CFT系统相比,运营成本更高、复杂性更大。
- 对于需要高安全性和弹性的高价值应用,BFT系统更适用;而对于需要高可扩展性和低成本的应用,CFT系统更理想。
- 未来工作包括支持跨分片事务、探索并发控制算法、扩展智能合约编程环境,以及优化集群间通信协议以提高可扩展性。