Fikker首页 -> 帮助系统 -> 关于“海量文件/海量视频”分布式缓存的一种方法

1、说明:  

“海量文件/海量视频”指的是:从几个TB到几十个TB的源文件内容。每个节点的硬盘缓存设置一般只有几百MB到几个TB之间,如果需要将这些文件全部缓存到各个节点时,很有可能会造成缓存时间过长或者节点缓存命中率比较低的现象。为了解决这个问题,就需要想办法,将“源文件和源视频”分别缓存在不同的节点,即不同节点缓存不同的内容,下面介绍一种最简单的方法实现。

2、原理:  

a、建立一个 Fikker 301/302 跳转服务器,专门用于将用户的请求跳转/重定向到不同的节点服务器。即,用户请求某一个文件/视频的时候,根据不同的文件名/文件夹名,将其跳转到/重定向到不同的节点服务器。例如:www.site.com/videos 目录下,开头字符是 a或b或c 的文件/文件夹都跳转到 abc.site.com 节点服务器。

b、各个 Fikker 节点绑定不同的二级域名,例如:abc.site.com,def.site.com ... 123.site.com,789.site.com ...

3、配置截图例子  

a、跳转服务器的【转向管理】配置,举例:

访问地址URL:^www\.site\.com/videos/((a|b|c).*)$
转向地址URL:abc.site.com/videos/$1
转向逻辑: Return(301/302)
备注说明: 将 videos 目录下面,开头字母为 a或b或c 的文件或视频都 Return 301/302 跳转到另外一个节点上 abc.site.com。

b、跳转服务器的【主机管理】配置,举例:

c、节点服务器的【转向管理】配置,举例:

访问地址URL:^\w+\.site\.com/videos/(.*)$
转向地址URL:www.site.com/videos/$1
转向逻辑: Last
备注说明: 节点转换域名,从 abc.site.com,def.site.com,789.site.com 等再转换回到 www.site.com 域名,这样子即可完全兼容源站了。

d、节点服务器的【主机管理】配置,举例: