c# – 负载均衡环境中的专用Sitecore CM发布实例

我们需要为Sitecore设置负载平衡的CM环境 – 主要用于故障转移目的,但也适用于负载可能过重的情况.我们将有两台服务器.我正在浏览扩展指南,他们提到在负载均衡的CM环境中,有一个服务器专用于发布.该评论指出它主要用于性能,但我听到有人说除非你设置专用的发布实例,否则发布队列不会同步.我想我理解这一点,基于sitecore发布队列的工作原理,但如果依赖其中一个服务器,那么拥有负载均衡的CM环境有什么意义呢?虽然它不是一个“站点向下”的依赖,但它依赖于它 – 有没有办法解决这个问题?

编辑

我在这里有一些答案,都表明它可能是性能问题或死锁问题,所以我想我的真正问题是,如何为专用发布实例进行故障转移,因为现在是一个单一的发布实例将成为失败的中心点.

最佳答案 我理解的主要原因是同步和处理事件队列. CM服务器将其本地事件发送到发布服务器,发布服务器将依次处理这些事件,发布和触发远程事件.如果两个服务器都能够发布,则事件队列将极难同步,因为如果没有专用发布服务器,则两个发布事件几乎可以同时从两个CM服务器触发.

性能也是一个考虑因素,但如果您有一个发布服务器,情况也是如此.内容编辑在运行时会注意到可用性问题.这就是为什么建议理想情况下3服务器CM设置最好的原因:2个CM实例和1个发布实例,不执行任何创作.这也允许你(在Sitecore 7.2上)到setup parallel publishing,但这并不总是现实的,你仍然依赖于其中一个服务器正如你所说的那样.但考虑到事件队列的问题,即使您有10台服务器,我认为您将需要某个依赖项.

我最近在Configure a authoring server as publishing instance阅读了这篇老帖子,里面有一些非常好的信息.

我只是阅读了这篇文章,希望有更多实践经验的人会很快回答,但是当我一直在思考这个问题时,我得出的唯一结论是,如果“错误的”CM实例失败,那么Publishing.PublishingInstance设置必须更新.也许准备好补丁配置(.disabled),以便在需要时部署/重命名它,并将其作为灾难恢复计划中的一个步骤.显然需要一些手动干预,正如您所说,它不是“站点向下”依赖.对于我所做的大多数项目来说,这是可以接受的,那种情况下的前端服务器始终是优先考虑的事情.

点赞