比较可惜,COS默认是不支持FTP服务的,官方提供了COSFTPserver工具3。这里要吐槽一下腾讯云提供的这个工具,虽然不是不能用,实际配置过程中也确实有必要的提示,不过,使用腾讯自己的虚拟机依然配置困难(我碰到的问题是python依赖安装出问题,最终通过virtualenv模块顺利解决)。实际配置好之后,使用起来并不稳定,首先是挑选客户端,我常用的FE file explorer pro直接挂掉,以至于我一只以为没有配置好,最后发现FileZilla、cyberduck到是可以正常使用。缺点也是特别明显,就是速度慢,一些基本操作支持的并不好,比如,list速度比正常FTP慢很多,再比如,文件夹移动并不支持(勉强可以移动文件)。实现原理所限,估计也无法配置用户权限了。最后,也是最大的问题,速度的瓶颈在虚拟机器的带宽上。我之前没有想明白,就算用对象存储,实际流量也是先经过了架设FTP服务的虚拟机。比如,我使用轻量应用服务器的情况下,服务器只有1M带宽,然后此时的下载速度就只有可怜的200k/s。如果使用按量付费的服务器,带宽可以设置很高,此时北京的上传下载速度可以有1-2M/s,不过流量太贵了,1rmb/G,并且,如果按月选择高带宽的机器,价格更是贵的离谱,另外,可能还需要支付COS的费用。
重新会到起点,我现在实际需要的是一个Building a Global High-Speed File Sharing System,这就让我想起了cloudflare,他的R2支持多地区部署,如果直接用R2是不是可以解决速度问题,并且,他的下载流量是不收费的,配合合适的工具4,本地备份可以没有费用。cf试图解决的问题就是全球化部署应用,这种功能聚焦让我稍稍有点兴奋——爷我也要部署一个全球应用了。先找一些简单的项目试试,很可惜,cf的R2太新了,没有成型的适配项目(如果我有时间精力一定自己做一个……唉),我随手找到了flaredrive5稍稍做尝试就配置成功了,作者自己也提供了在线试用6。一开始我非常兴奋,但是稍加冷静发现了问题,过于简单了。比如,不支持重命名,不支持文件移动。我上传大文件的时候,没有任何进度提示,对用户过于不友好从而使这个项目不可用了。类似的我还找到了R2-Explorer7,这次有了经验,看到TODO列表就知道不能用了,太简单了,甚至不能重命名文件夹。