Corrosion
7 months ago
- #rust
- #flyio
- #distributed-systems
- Fly.io将Docker容器转化为Fly Machines——一种运行在他们自有硬件上的全球分布式微虚拟机
- 状态同步是他们平台最复杂的部分,需确保边缘代理维护精确的路由表
- 2024年9月1日发生重大故障,起因是Rust并发错误导致的系统级死锁
- 分布式系统会放大缺陷,其状态分发系统Corrosion就曾暴露这个问题
- Fly.io的编排模型以独立服务器为事实来源,这与主流系统设计截然不同
- Corrosion是基于Rust的流言协议驱动系统,实现无需分布式共识的全局路由
- Corrosion采用支持CRDT扩展的SQLite(cr-sqlite),实现无冲突更新和高效状态传播
- 该系统曾因模式变更引发全局协调崩溃,并出现过证书过期等历史问题
- 改进措施包括看门狗机制、强化测试及区域化部署以控制故障影响范围
- Corrosion摒弃传统分布式共识模型,呈现为一个高度分布式的简易SQLite数据库