互联网创业项目技术演进(二)

上一节,我们了解了项目的基础架构 ,开发第一个基础版本,已经完全没有问题了,但随便版本的不断迭代更新,业务逻辑变得越来越复杂,在架构上,就显得越来越吃力。

本节主要讲述图片存储方案的选择。

作为互联网产品,图片上传和展示是必不可少的,一开始,直接使用单机存盘的方式,然后通过nginx或apache等可以直接访问图片。但随着图片的增多,出现的问题就越来越明显了:

1,存盘的方式,只适用于单台机器,单台机器的容量是有限的。

2,单台机器没有任何容灾能力,一旦出现问题,整个图片服务都会出现瘫痪,且所有图片都很难恢复。

3,单台机器的负荷有限,图片是属于大文件,并发过大时,对带宽要求,机器性能要求都很高。

这时,我们就要考滤的是图片的备份和拉取速度。目前有很多成熟的解决方案,这里推荐使用图片云存储能力+CDN能力(如七牛云存储,阿里云存储等),一般云存储厂商都会提供分布式图片存储和CDN能力,不过如果这种方式是收费服务(一定范围内免费,具体参考各大厂商的详细说明),简单,可靠。

但如果图片量非常大,该方案收费就比较昂贵了,对于初创企业来说,不划算。这里我们可以考滤自已搭建图片服务器。这里推荐使用FastDFS ,FastDFS是一个开源的分布式文件系统,她对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。具体参考:http://www.oschina.net/p/fastdfs/。

互联网创业项目技术演进(二)_第1张图片
图示

小结:如果是最开始的单机器 存储,需要自己写一个文件上传服务,定义文件存储规则。如果使用云存储或FastDFS,它们已经集成了该服务,及文件存储或访问规则 。当然,如果考滤到访问速度,可以使用第三方提供的CDN服务(这是收费服务)。

下一节:如何加快接口访问速度

你可能感兴趣的:(互联网创业项目技术演进(二))