服务器 频道

SACC2013:初创IT技术架构及实践专场

  邵海杨:又拍云存储自建CDN技术探秘

又拍云存储自建CDN技术探秘

  又拍云存储是通用的大规模存储服务。开放高度可扩展的API,开发人员可轻松使用,帮助互联网企业以极其低的价格,获得可靠、安全、快速的基础存储系统。

  又拍云存储架构采用各地方缓存节点、核心缓存层、中心数据机房,3层结构部署,前端智能DNS调度用户到该用户访问最快的节点,地方缓存节点会保持连接2个核心缓存机房做负载均衡及相互备用,避免单路网络问题,核心缓存机房通过多条线路互备到数据机房读取文件。

  在整个云存储系统中,采用了比较多的开源技术,主要开发语言有:C、PHP、Erlang、Python,用的比较多的开源产品有:Nginx、GraphicsMagick、MySQL、Memcached、Hadoop、Redis、Squid、Heartbeat、IPVS BIND.

  在安全性方面,又拍云通过哪些策略或技术手段来保证托管的图片的保密性的?

  针对互联网站图片存储的实际需求和特性,在安全性方面做了比较多的工作,

  文件操作接口和文件读取接口(只读,无操作权限)分离,客户网站用户只能访问读取接口,文件操作接口只对客户开放,需凭客户密钥授权操作。并且,文件读取接口可以单独设置关闭。

  帐号系统分离,空间管理员可设多个操作员帐号给不同部门或项目组的人员,并且权限分离,空间管理员只有空间设置权限,无文件操作权限。操作员只有授权空间的文件操作权限,无空间设置权限。最大程度分离帐号的权限。

又拍云存储自建CDN技术探秘

  很多网站会允许用户浏览处理过的缩略图,但不允许或需要授权用户才能下载此图片的原图,又拍云存储有原图Secret功能,每个图片原图都可以设置Secret key.

  Token防盗链,用户可以给每个Url生成Token签名,也就是只有获得网站允许授权的用户才能访问这个图片,并且该授权还可以设置过期时间,精确到秒。

  保证图片的快速存储和读取

  不同于传统CDN服务源站在各地各个机房,又拍云存储源站分布在CDN网络核心机房,在回源这条回路上做了最大优化,保证快速读取。

  国内网络环境非常复杂,今天通畅的网络没法保证明天还是这么通畅,为了适应复杂的网络变化,又拍云存储有专门的技术人员,结合自身及第3方的各地速度监控系统,不断更新速度表格,将用户优化到访问最快的机房。

又拍云存储自建CDN技术探秘

  每个缓存节点投入更多的资源,目前所有节点的部署的缓存容量规模均在10T以上,保障客户文件能长期缓存在各地节点。

  缓存节点机房服务器集群做LVS4层负载,7层Nginx进行一致性Hash提高缓存命中率,冷热文件调度将热门文件调度到SSD存储。

  开发者可采用直传API,让用户通过云存储网络直接上传到云存储,而不需要经过用户服务器,存储速度更快。

  通过又拍云服务,减少了大量的基础工作研发,专于自己的产品业务,降低互联网企业做规模产品的门槛。比较典型的案例iWeekly周末画报,所有图片存储在又拍云上,从2010年发布iOS客户端到读者突破百万,带宽从几十M到几G,一直专注于产品业务的优化,未受服务器和带宽资源紧张分担精力,甚至没有配备专职的系统工程师。未来一些小而精的产品团队,会不断的开发出上规模的应用,如:花瓣、堆糖、Markzhi、驴评网等。

2
相关文章