请使用此图片清楚地理解它 Architecture as I see 需要在[balancer]级别为VoD服务实现请求缓存。
当文件1 的 reqst1 来到 balancer 时,它会通过循环法发送到 varnish1 服务器并且将此请求保存到本地数据库/缓存等
下一步如果varnish1 在缓存时没有此文件,向本地网络服务器发送请求(nginx-VOD1),之后nginx获得 file1 < / strong>来自fs的 varnish1 。
因此,如果下一个请求是针对 file1 ,则会将平衡器直接重定向到 varnish1 ,因此清漆中的信息不会加倍。
所以下一个问题的根源:如何实现这个方案或如何以这种方式实现其他方案 - 内容在不同的清漆缓存中不会翻倍?
1)是否有现成的免费/付费解决方案?
2)这个计划是否合理?
3)我应该使用什么作为平衡器(nginx,haproxy,清漆)?
4)清漆应该在ssd或memmory中保存缓存吗?
由于
答案 0 :(得分:0)
我认为您的架构过于复杂,无法优化清漆缓存。
我建议通过仅放置一个服务器清漆(更大)来简化它,该服务器清漆将请求分发到4个后端。