最近在做一个项目,多个客户端需要从 rsync 服务器上获取文件,不同客户机需要获取的文件不一定相同(而且相同的概率很小),目前只使用了一台 rsync 服务器,这样一来,当多个客户端同时启动时, rsync 服务器的网络带宽和 IO 瞬间被占满。所以需要考虑使用分布式或者其他的方式来提高文件分发效率。
目前想过几个方案,但是都不算完美:
1.手动布设多个 rsync 服务器,通过控制客户端的配置信息来为其指定 rsync 服务器。这种方案无法最大化发挥多个 rsync 服务器的性能,因为不同客户端需要同步的文件的大小也是有很大差异的( 2G~10G 不等),可能会导致资源的分配不均。
2.btsync ,其设计的思想基本能吻合需求,但是首先不开源,其次客户端只能在命令行下进行自动化的操作,配置和使用起来比较麻烦,不同客户端同步的文件不同,因此可能需要为每个客户端都生成一个种子。
项目对数据传输加密或不加密并没有严格要求,最主要是性能。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.