ppt文档 Rust分布式账务系统 - 胡宇

12.60 MB 27 页 0 评论
语言 格式 评分
中文(简体)
.pptx
3
摘要
文档介绍了Airwallex公司使用Rust语言构建的分布式账务系统,强调其在Fintech领域的应用。系统设计采用了Event Sourcing、CQRS及Raft共识算法,确保高可靠性和正确性。其架构包括Gateway路由层、Marker事务层和Auticuro账户层,实现了高性能和水平扩展性。该系统通过事务层与账户层分离,以及无锁单线程模型,提升了交易吞吐量和降低了响应延迟。
AI总结
《Rust分布式账务系统 - 胡宇》总结: ### 项目介绍 Airwallex是一家跨境支付领域的Fintech公司。本次分享围绕其基于Rust构建的分布式账务系统"Auticuro"展开,重点介绍从设计到落地的经验和技术细节。该系统具备以下特点: - **高性能**:超低延迟,支持100万TPS的高并发流量。 - **可靠性**:采用Raft共识算法,确保数据一致性和系统可用性。 - **可扩展性**:基于分布式事务和CQRS模式实现水平扩展。 - **可演化性**:业务逻辑与底层API解耦,便于快速迭代。 ### 设计理念与架构 1. **系统架构**: - **分层设计**:包括Gateway路由层、Marker事务层和Auticuro账户层。 - **CQRS模式**:读写分离,针对不同场景优化。 - **Event Sourcing**:事件溯源,记录系统所有状态变更,便于审计和回溯。 - **存算分离**:业务逻辑与底层存储解耦,提升灵活性。 2. **技术选型**: - **底层存储**:RocksDB用于高性能数据存储。 - **共识算法**:基于raft-rs实现可靠的分布式共识。 - **事务处理**:采用TCC(两人次认证协议)确保分布式事务的ACID特性。 - **正确性与安全性**:Rust语言的内存安全和线程安全特性,避免data race和内存泄漏。 ### 关键实现细节 1. **事件处理流程**: - 接收转账请求,生成事件。 - 通过Raft共识确保事件的持久化。 - 处理共识后的事件,更新账户状态机,确保去重和余额更新的准确性。 2. **跨分区转账**: - 使用有向无环图(DAG)表示任务依赖关系。 -Marker事务层负责执行转账计划,支持条件执行和任务调度。 3. **性能优化**: - 关键路径采用无锁单线程,减少竞态条件和性能开销。 - 针对读写场景分别优化,提升系统吞吐量和响应速度。 ### 项目成果与开源 - Auticuro已在生产环境中落地,具备高可用性和强一致性。 - 项目开源,社区支持活跃,提供详细文档和Slack交流群。 - 通过该项目,Airwallex积累了Rust在Fintech领域的落地经验,为后续技术演进提供了可靠基础。 ### 总结 Auticuro分布式账务系统基于Rust语言和现代分布式架构,兼顾高性能、高可靠性和灵活性,适用于Fintech领域对资金交易的高要求。其设计理念和技术实现为金融级分布式系统提供了重要参考,同时通过开源回馈社区,推动Rust在高性能场景的应用。
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
P11
P12
下载文档到本地,方便使用
- 可预览页数已用完,剩余 15 页请下载阅读 -
文档评分
请文明评论,理性发言.