使用MarkLogic构建群集时的分布式处理

时间:2014-10-19 14:58:31

标签: marklogic

目前,我有一个使用MarkLogic构建的集群。 我正在建立一个由PC1,PC2中的两个组成的集群。 这两个窗户都是。

所以有一个问题。

从一个数字中得出两分钟的分钟,我想确认处理速度很快......

通过创建DB到PC1来创建一个林1。 我将创建一个forest2到PC2。

在这种情况下,如果参考过程中的建议来自PC1的forest1,2 处理还是会分发?

我不知道forest1,PC2是我们是否将每个参考处理林2发挥到PC1。

更多,感谢您的回复或任何人。

1 个答案:

答案 0 :(得分:1)

某些“处理”是分发的,有些则不是。 粗略地说,如果您执行“搜索”并且文档位于具有多个主机上的林的数据库中,则会分发大部分搜索处理。类似于存储文档 - 如果您存储1000个文档,它们将分布在可用的森林中,并且同样会分发大量的“处理”。

另一方面,如果你运行一个非面向数据库的函数,比如说一个计算PI到一百万位数的XQuery程序,它将在你调用进程的主机上运行,​​并且不会自动分发。

这些是极端情况......你的应用程序可能介于分布式和非分布式处理的混合之间,这通常很有效但是如果你发现一个主机正在完成大部分工作(如果你的应用程序最常见的话)主要是功能处理而不是数据库导向),有分散负载的方法。例如,Web服务器上使用的相同技术也可以正常工作 - 使用MarkLogic和您的请求之间的负载均衡器和/或代理可以将请求路由到不同的主机进行处理。在内部,有一些方法可以在特定主机上手动安排处理。但总的来说,只有当您想要具有特定长期运行的“批处理”类型进程时,这才有用。如果您的应用程序是典型的“搜索,修改,处理”类型应用程序,那么系统将很好地平衡事情。

如果您想根据自己的特定需求进行诊断或微调,可以使用监控历史记录GUI详细了解最新情况。通常,最简单和最有益的更改是使用负载均衡器类似的代理应用程序,如果您发现不均匀分布的负载。同样,如果您经常从静态内容提供相同的请求,则缓存代理可以卸载部分工作。

相关问题