【问题标题】:CD-CM setup with merge replication具有合并复制的 CD-CM 设置
【发布时间】:2018-04-16 01:13:22
【问题描述】:

我正在努力使我们的一位客户在他们基于 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. 预览(CM 服务器预览数据库)

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

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

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

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

我怎样才能充分利用这两个世界?有吗?

【问题讨论】:

    标签: asp.net deployment sitecore7 merge-replication content-delivery-network


    【解决方案1】:

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

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

    普通用户示例:

    预览 直播

    管理员用户示例: 预习 居住 CD1 CD2

    【讨论】:

    • 我有 1 个 ES 实例。以及这里可能发生的细微不一致,我们将忍受。我不熟悉 sitecore 中根据规则有不同的发布选项的选项,是吗?
    • 它需要对对话框进行自定义编码。你可以阅读linkadvanced dialog之类的帖子
    猜你喜欢
    • 2010-10-12
    • 2022-11-11
    • 1970-01-01
    • 1970-01-01
    • 2019-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-09
    相关资源
    最近更新 更多