1

我正在努力使我们的一位客户在他们基于 sitecore 的网站上的发布过程更快、更简单。通过研究,我偶然发现了 Merge Replication,它可能会解决我们的一些问题,但它会引入其他问题。我需要您的帮助和指导,以找出最好的方法!

我们有一个 CD 和 CM 设置,有 1 个 CM 服务器,它有自己的 SQL 实例。2 个 CD 服务器,每个服务器都有一个 SQL 实例。目前我有当前的设置:

CM(主数据库、Web 和核心数据库)Web 仅在内部显示在站点的安全管理 url 上,这就像一个预览站点。

CD1 和 CD2 是访问用户的服务器,它们在 Sitecore 中都有一个发布目标。

当我们部署一个版本时: 1. 为 CM 部署新代码。将 Sitecore 的模板和潜在的内容更改发布到 Web。验证并验证一切是否正确。2. 取出负载均衡器的 CD1,为 CD1 部署新代码,将模板和可能的更改发布到 Sitecore,验证和身份验证,然后将服务器放回负载均衡器。3. 对 CD2 重复步骤 2。4.部署完成

这个过程现在对我们来说工作正常,我们一直在运行,没有在网站上停机。


当前设置存在一些问题:

  1. 当 CM 发布到 Web 时,我们的搜索(弹性搜索)正在填充,因此 atm 存在弹性搜索问题,可能有尚未发布到 CD 服务器的数据。

  2. 发布时,编辑可能会忘记发布到其中一台 CD 服务器,这会导致服务器之间的不一致,我们希望避免这种情况。

  3. 对于同一环境,所有内容都需要多次发布,占用时间。

  4. 编辑不知道 CD 服务器是什么,他们只想有一个“预览”和“实时”发布目标。


我研究了 Sitecore 的合并复制,实际上它也在测试环境中工作。我们希望从中获得的好处是我们只有两个发布目标:

  1. Preview(CM服务器预览数据库)

  2. Live(CM 服务器 Web 数据库,然后复制到 CD 服务器 Web 数据库中)

  3. Elastic 搜索实例将中继来自 CM 网络数据库的数据,这些数据是实时数据。

  4. 我们也可以在预览版上运行 Elastic 搜索实例。

这里的问题是,现在我在进行部署时不能只为 CD1 或 CD2 部署。如果我对 Sitecore 有重大更改怎么办?如果我将新的破坏性 Sitecore 项目发布到尚未部署到的服务器上,该站点会崩溃吗?

我怎样才能充分利用这两个世界?任何?

4

1 回答 1

0

每张CD都有ES吗?如果您将数据发布到单个 CD 并具有共享的 ES,那么无论哪种方式都会出现不一致。

否则,我将对发布对话框进行更改,其中只有管理员/开发人员可以单独查看 CD 服务器。

普通用户示例:

现场预览

管理员用户示例:Preview Live CD1 CD2

于 2017-11-03T13:31:13.280 回答