2012-02-27 58 views
7

在我的发布场景中,我们有多个部署者将内容推送到文件系统和数据库(代理)。页面和二进制文件放在文件系统中,其他所有内容放在Broker中。我们有一个部署人员将内容放入数据库中。这是推荐的最佳做法吗?多个部署者单个内容交付数据库(代理数据库)

如果所有部署者的存储配置也将内容放入数据库中,Tridion如何处理此问题?这可能导致重复条目,锁定失败等?

恐怕在写作的时候,我没有进入到环境中测试这将如何工作。

回答

11

SDL最佳实践是在部署者和发布之间建立一对一的关系;这意味着,只要2个部署者不发布相同的内容(从相同的出版物),那么他们将不会碰撞提供,如果一个文件系统中,存在所述展开位点之间的分离例如www/pub1 & www/pub2。

你对你的情况的解释需要一些额外的信息,使之完成,但它听起来最有可能有多个代理数据库(尽管是一个单一的数据库服务器上托管)。这是处理Web服务器上的多个文件系统时最常见的设置,并与单个数据库服务器结合使用。

我个人不喜欢这样设置,因为我认为在共享位置托管文件系统内容会更好&共享单个数据库。或者更好的是将所有东西部署到数据库并使用类似DD4T/CWA的东西。

+0

在这种情况下,让我们假设它是一个单一的出版,这是发布到多种部署者,但它只是一个发布的经纪人之一。你有什么建议吗? – johnwinter 2012-02-27 16:08:36

+3

如果一个部署者只发布给经纪人,那么你有一个SPOF。如果部署者执行数据库部署失败,则所有其他部署者的部署将不完整。如果组织不希望拥有不同的基础结构以使其更健壮,那么最好的做法是让所有雇主都做同样的事情(文件系统和数据库)并为每个部署者分配独立的代理数据库。 – 2012-02-27 16:14:03

6

我已经看到(甚至建议根据客户的限制)类似的配置,您将多个部署器配置为给定目标的目标。

只有部署者中的一个可以写入到数据库中相同的事务,否则你就会有并发问题。因此,一个部署者向数据库写入数据,而其他数据写入文件系统。

所有经纪商/网络应用程序都配置为从数据库中读取

这解决了部署到多个服务器和/或数据中心,在那里使用共享的文件系统(优选的方法)是不可行的问题 - 无论是出于成本或任何其它原因)。

总之 - 不是最佳做法,但它是已知的工作。

1

朱利安和努诺的方法覆盖了大部分的常见场景。事实上,一个单一的数据库是一个单一故障点,但在很多安装,您预计到同一数据库服务器上运行多个模式,所以你还是有一个单一故障点,即使你有多个“经纪人的DB”。

另一种选择要考虑的是完全独立的分发节点。这甚至可能意味着在演示文稿框中运行数据库服务器。这些天它都是虚拟的,所以你可以运行单独的小型数据库服务器。 (许可费用将是一个重要的约束)

每个传送服务器都有它自己的数据库和文件系统。根据你要多少,你可能不希望设置多个目的地/部署者,所以你部署到一个,并用文件系统复制和数据库日志传送到镜像内容的休息。

当然,你可以配置两个冗余部署系统(或三个),假设你可以管理所有的集群等

OK - 和盘托出 - 我从来没有建立一个这样的,但我相当可靠的这种设计的元素将随着虚拟化的增加而变得更加普遍,以及支持它的许可模型。 (也许我们不得不等待外表套上支持开源数据库!)