联系我们法律声明

YMFS缓存流程图

L1-Cache:通过第三方CDN,通过DNS智能解析,多机房,多节点分布到全国每个大城市,用户直接可以访问本地最优节点,效率更高。

L2-Cache:多台缓存服务器集群,前端LVS负载均衡,读写更均衡,通过一致性哈希算法,缓存读写更快速,更容易命中缓存。

Application:多台Image Server服务器集群,前端LVS负载均衡,动态生成图片,自定义图片大小,自定义水印,图片整合等等。

Storage:多台服务器集群,用来保存图片源数据,前端LVS负载均衡,读写更均衡,每个节点都有服务器冗余备份,有效防止数据丢失。

目前的架构L2-Cache的缓存空间最高是10T;Image Server服务器为4台,Storage服务器为4台,目前总图片数据是600G,可以支持到2T;Image Server服务器Load Average还非常低,不超过%1,后期支持到2T的源图片解析完全没问题。

用户发布图片和访问流程图

User Center:用户在用户中心发布图片,保存在临时NOSQL。

Redis Master:保存用户当天发布图片的NOSQL,通过Master To Slave备份,备份到多个节点。

App Syn:后台调度程序,通过读写Slave NOSQL,每隔12小时,把图片数据同步源Storage服务器。

Clents:前端访问发布的图片,先访问CDN,有缓存直接返回数据。

Cache Cluster:用户访问图片,CDN没有命中缓存,到达Cache Cluster,通过一致性哈希算法访问缓存节点,命中缓存直接返回数据。

Image server Cluster:Cache Cluster没有命中缓存,到达Image Server服务集群,根据用户请求的规格大小和参数,先通过图片路径识别图片发布时间,如果是12小时内的,直接访问Slave NOSQL,如果超过12小时,直接访问Storage服务器返回数据。

这种架构的优点,让用户发布图片更快速,因为图片直接写在内存;多级缓存,让用户访问图片更加快速;后台同步源图片数据,多个冗余备份,有效防止数据丢失;放弃了传统的图片保存方式,直接把源图片保存在NOSQL数据库,动态处理图片更高效。

典型客户