在有状态水平缩放节点上安装附加组件的效果

Effects of installing add-on on a stateful horizontal scaled node

我对在有状态水平缩放节点上安装附加组件的效果很感兴趣。当一个节点被缩放并且有 3 个节点(1 个主节点和 2 个常规节点)时,安装的附加组件是否只对主节点有效,还是也安装在常规节点上?如果没有,我们可以在常规节点上显式安装附加组件吗? 在文档中找不到关于这种情况的信息。

这在某种程度上是由附加组件本身定义的,具体取决于它在其 onBeforeScaleOut and onAfterScaleOut 事件处理程序中定义的内容。

理想情况下,每个附加组件都应使用适当的处理程序编写(或无需这些处理程序的适当行为),但实际上并不能保证...完全取决于作者。

如果我们假设有问题的附加组件没有定义应该发生什么,有状态扩展意味着主节点的整个文件系统将被复制——所以部署在主节点上的任何配置文件或系统包插件的节点也会出现在新水平缩放的节点上。

documentation提到了逆向场景的警告(适用于stateless缩放):

  • add-ons - any add-ons installed on the layer won’t be available

编辑以解决评论中的问题说明:

I was not so interested of up or down scaling. I am interested at the effects of installing the add-on (with a manifest) on a stateful, horizontally scaled node.

有状态与无状态仅在 扩展期间很重要 - 它描述了它们是如何创建的(对于现有节点,它们是如何创建的并不重要;它们被同等对待方式)。

As far as I know it is installed exclusively on the master node, but I want to be sure and also if it is possible to force it to install on the regular nodes.

这完全取决于加载项及其 targets 操作方式。它可以设计为仅在给定层的主节点上执行命令/安装东西,也可以设计为在层(或环境)内的所有节点上工作。

每个附加组件背后的 JPS 脚本通常是开源的。您可以在 https://github.com/jelastic-jps 找到一些示例,但我建议您向插件作者(或您的 Jelastic 提供商,如果他们默认为您提供)解决您的问题。