MarkLogic Taskserver D 节点与 E 节点

MarkLogic Taskserver D-node vs E-node

我有两个问题:

  1. 是否可以针对 D 节点和 E 节点组定义任务服务器?
  2. 如果是,那么在 E 节点中 运行 计划任务和 D 节点中 运行 post 提交触发器的目的是什么?

希望问题有意义!

答案1:是的。例如:您可以在任何主机上 运行 计划任务,但它们仅限于定义它们的组。如果您在 'D-nodes' 组中定义计划任务,则这些任务将 运行 在 D 节点主机上。

答案 2:E 节点与 D 节点的概念与任务服务器没有直接关系,但了解哪些任务 运行 在哪里可能很有用。您对触发器的看法是正确的:针对评估主机(接收 HTTP 请求的主机)的预提交触发器 运行,针对数据主机的 post-提交触发器(托管林的主机)写入数据)。关于定时任务,见上文

区分集群中的 E 和 D 节点的主要原因是允许主机针对其特定角色(E 与 D)进行优化。 D 节点需要内存主要用于快速访问索引,并处理 reading/writing 数据的 IO。他们还需要足够的磁盘 space 来存储森林数据。 E节点处理传入的请求,合并D节点返回的数据结果。他们做很少的 IO,通常更多地依赖 CPU 和内存。

不过请注意,这不是一件容易做对的事情。 MarkLogic 有一个性能部门,致力于为我们的客户提供正确的解决方案..

HTH!

答案 3) 1 和 2 是正确的。但换个角度考虑,没有 "E Nodes" 和 "D Nodes" 这样的东西。集群中的所有 ML 节点都具有相同的软件和功能。将节点分配给组,并称它们为 D、E 或 F、G、H 没有内在意义。一种常见的有用模型是 E/D,但由 DBA、开发人员和 IT 部门来配置硬件、软件、网络和应用程序使用 realize/implement 该模型。 ML 服务器本身不再 'know' 它是一个 "E node" 然后 CPU 是,它会 运行 无论它做什么。 - 在一个节点或 100 个节点中相同。 可以根据您的需要实施其他模型。