加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 跨前端服务器共享高速缓存文件的可扩展方式

发布时间:2020-12-17 02:47:04 所属栏目:百科 来源:网络整理
导读:我有多个后端服务器不断构建和刷新api的公共部分以便缓存它.后端服务器正在构建,具体取决于作业队列中必须执行的操作. 一次, 后端服务器1将构建: /article/1.json/article/5.json 后端服务器2将构建: /article/3.json/article/9.json/article/6.json 我需
我有多个后端服务器不断构建和刷新api的公共部分以便缓存它.后端服务器正在构建,具体取决于作业队列中必须执行的操作.

一次,
后端服务器1将构建:

/article/1.json
/article/5.json

后端服务器2将构建:

/article/3.json
/article/9.json
/article/6.json

我需要从前端服务器提供这些文件.缓存存储为文件,以便直接由nginx提供,而无需通过rails堆栈.

问题是设法以可扩展的方式在前端服务器上更新缓存(添加新服务器应该是无缝的).

我考虑过:

> NFS / S3(但速度太慢)
> Memcached(但不能直接从nginx服务 – 可能是错的?)
> CouchDB直接提供JSON(我觉得这对于工作来说太大了)
>后端在redis中编写json,在正确的位置重写文件(目前我最喜欢的选项)

有没有更好的方法来实现这一目标的经验或好主意?

解决方法

你没有说构建一篇文章需要多长时间,但假设它不是非常慢,我认为你最好让app服务器动态构建页面并让前端服务器进行缓存.在这个场景中,您可以在应用服务器前放置一些haproxy / varnish / squid / nginx组合,让它们为您进行平衡/缓存.

如果你继续在后端继续构建它们,我可以做同样的事情.

你的最终目标是拥有:

internet -> load balancer -> caching server 1   --> numerous app servers
                         -> caching server 2  -/

根据需要添加更多缓存服务器和应用服务器.互联网永远不会知道.根据您选择的软件,负载均衡器/缓存服务器可能相同,也可能不相同.真的取决于你的负载和特殊需求.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读