我正在努力让我们的客户在其基于sitecore的网站上更快更简单地发布流程。通过研究,我偶然发现了可能解决我们的一些问题的Merge Replication,但它引入了其他问题。 我需要你的帮助和指导,以确定哪种方式最好!
我们有一张CD& CM设置,1 CM服务器,有自己的SQL实例。 2个CD服务器,每个都有一个SQL实例。 目前我有当前的设置:
CM(主数据库,网络数据库和核心数据库)Web仅在网站的安全管理网址内部显示,其工作方式类似于预览网站。
CD1& CD2是访问用户的服务器,这些服务器在Sitecore中都有一个发布目标。
部署发布时: 1.为CM部署新代码。将Sitecore到Web的模板和潜在内容更改发布。验证并验证一切正确。 2.取出Load Balancer的CD1,为CD1部署新代码,发布模板和对Sitecore的潜在更改,验证和验证,然后将服务器放回负载均衡器。 3.对CD2重复步骤2。 4.部署完成
此过程对我们来说现在正常运行,我们可以随时启动并运行,无需停机。
我们在当前的设置中遇到了一些问题:
当CM发布到Web时,我们的搜索(弹性搜索)正在填充,因此弹性搜索存在一个问题,即可能有尚未发布到CD服务器的数据。
发布时,编辑可能会忘记发布到其中一个CD服务器,这会导致服务器之间出现不一致,我们希望避免这种情况。
对于相同的环境,一切都需要多次发布,占用时间。
编辑不知道什么是CD服务器,他们只想拥有“预览”和“实时”发布目标。
我已经查看了Sitecore的合并复制,实际上也让它在测试环境中工作。我们希望从中获得的优势是我们只有两个发布目标:
预览(CM服务器预览数据库)
直播(CM服务器网络数据库,然后将其复制到CD服务器网络数据库中)
Elastic搜索实例将转发来自CM网络数据库的数据,这是实时数据。
我们也可以在预览上运行弹性搜索实例。
这里的问题是,现在我在部署时不能仅为CD1或CD2部署。如果我对Sitecore有重大改变怎么办?如果我将新的Sitecore项目发布到尚未部署到尚未部署的服务器上,该网站将会中断?
我如何才能充分利用这两个世界?任何?
答案 0 :(得分:0)
每张CD都有ES吗? 如果您将数据发布到单张CD并拥有共享ES,则无论如何都会出现不一致。
否则,我会对发布对话框进行更改,只有管理员/开发人员才能单独看到CD服务器。
普通用户的例子:
预览 活
管理员用户示例: 预习 生活 CD1 CD2