桃代李僵-七牛云的反向用法

很多场景下, 我们需要接收客户端大量的数据上传, 举个栗子:GPS点汇集成的线路信息. 我们假设上传数据用的json格式, 按照 [[经度, 纬度, 高度, 速度, 时间戳]...]的格式传输, 一段数据的例子如下:

[13.361389,38.115556,1200,15,1506393380] 长度为40, 按照UTF8的编码的话占40Byte

如果按照每10米一次记录, 那么一次标准马拉松赛事的长度 42.195公里会产生4220条记录, 那么整个这条数据的大小在164KB左右, 如果再附加心率, 步数, 步频等数据的话, 体积还会更大.

大量的上传文件会产生很多的IO wait, 造成系统负载急剧增高, 如果和Web主进程放到一起, 会严重影响系统的吞吐量. 我们可以将上传拆分开用独立的服务器来负担, 但是一是会每月多出几百元的服务器和带宽的开销, 而且上传的服务器全在跑IO上了, CPU几乎空闲, 太浪费, 如果在上传的机器上部署点其他的东西又会让运维变得复杂起来. 同时呢用XX云的VPS负载上传并不高效, 因为Nginx对上传文件的缓存还是通过写入磁盘系统来处理的, 但是VPS的磁盘性能比真实的磁盘低了一个数量级,  但是如果把缓存目录放到映射的内存FS, 有可能因为大量的上传导致撑破内存. 左右为难之际, 其实我们可以用三方的云服务来化解难题. 

下面就是用七牛云行桃代李僵之计的一种方案.

桃代李僵-七牛云的反向用法_第1张图片
七牛代理上传文件

这个方式处理上传的所有难题都交给了七牛云, 然后如果上传的量很大的话, 七牛有很多的服务器来负责处理, 不会因为量大造成速度变慢, 无法响应等等问题.

这都连续两次给七牛云打广告了, 没有广告费...   所以再给大家一个省钱秘籍好了.

七牛是有免费额度的, 规则如下

七牛的免费额度

也就是说一个帐号有免费10G, 10W次上传次数 100w次读取次数的能力, 其实系统对于存在哪个七牛帐号并不关心, 所以我们可以发动公司所有人, 都去注册七牛帐号, 然后让系统统一管理, 如果公司10个人每人注册一个帐号, 就有了 100G存储, 每月100W次上传次数.

蚊子腿的肉也是肉, 这个免费额度支撑你拿到天使轮融资绰绰有余了.

恭喜发财

你可能感兴趣的:(桃代李僵-七牛云的反向用法)