Web farm 部署
定义
在负载均衡器后面,将一个应用程序运行在多台服务器上,因此同一用户的连续请求可能由不同的机器处理。
Web farm 打破了任何假设请求落在与前一次相同位置的假设。文档查看器尤其容易受到影响,因为打开文档会创建服务器端状态——已渲染的页面——后续请求期望找到这些状态。
最直观的解决办法是粘性会话,将用户固定在一个节点上。它在该节点因部署而被抽空之前有效,但一旦节点被抽空,所有正在进行的打开文档都会同时失败。
持久的解决办法是共享渲染缓存。任何节点都可以为会话提供另一节点已打开的页面,从而节点可以互换,滚动部署不再是一次性事件。
在 Doconut
通过共享渲染缓存支持 Web farm 和分布式部署,因此在一个节点上打开的会话可以在另一个节点上读取。缓存的页面图像是敏感文档的派生副本——为缓存设置与您的保留规则相匹配的淘汰策略。