AppNode 的软件源设计是多节点分布式的,许多节点都使用云存储进行部署。
我们目前在国内的主要节点部署于阿里云OSS上,后续会考虑引入腾讯云、青云、七牛等其它厂商的节点,最大程度上提升用户的安装下载体验。
面对如此多的节点,如果每次发布软件都要由人工对各节点上的文件进行更新,那么会是一个非常繁琐的运维工作。
为此,我们开发了一个云存储同步工具:
eesync。
目前该工具仍处于内部使用测试阶段,不提供对外测试,预计会在今年8月份开始作为一个应用整合到 AppNode 中。
eesync 部分特性:
- 使用golang实现
- 单向同步
- 驱动式设计
目前实现了两个驱动:本地文件系统、阿里云OSS
- 支持多线程同步
- 支持分块同步(需要收发双方支持分块)
- 支持断点续传(需要收发双方支持分块校验)
- 支持单文件同步
- 支持传输规则定义(包含、排除)
- 支持设置同步时是否删除文件
- 支持失败重试机制
将会实现:
- 驱动完善:支持AWS S3、七牛、FTP、SSH等
- 支持FUSE,可映射为本地文件系统
最后放上截图:

