【问题标题】:Configure Mulesoft shared distribution memory配置 Mulesoft 共享分发内存
【发布时间】:2017-11-16 06:37:14
【问题描述】:
我正在开发 Mulesoft 应用程序,该应用程序已部署在两台不同物理机的 Mule 服务器中。服务器绑定在一起形成一个集群。
在集群模式下,据说服务器共享公共分布式内存,这样如果一台机器出现故障,另一台机器会承担第一台机器的任务。因此,它们在它们之间维护公共分布式内存。
有没有办法为集群利用的公共分布式内存配置内存?
随着流量/应用程序数量的增加,我想,将需要提高相应集群的阈值内存。
如果没有,我们是否必须修改 Mulesoft 集群使用的所有内存量?
请帮帮我。
谢谢
【问题讨论】:
标签:
mule
mule-component
mule-cluster
【解决方案1】:
在集群场景中,所有对象存储都被集群对象存储所取代。集群对象存储使用集群代码创建的共享内存网格来持久化信息(意味着没有文件系统级别的持久性),如果一个节点中断,集群中的其他节点应该保持活动状态并维护操作系统信息在共享内存网格中,因此不需要文件系统中的持久性
此外,由于对象存储使用应用程序的名称作为存储信息的一部分,如果您想在重新部署时保留它们,新部署的应用程序必须与前一个应用程序具有相同的名称。请参考以下内容:
场景一:
1.当前应用名称:test
2.新应用名称:test
- 对象存储值将从 1 保留到 2。
场景 b:
1.当前应用名称:test-v1
2.新应用名称:test-v2
- 对象存储值不会从 1 保留到 2。
注意,内存存储 - 在 Mule 3.5.0 之前,内存存储是默认设置。从 Mule 3.5.0 开始,持久存储是默认设置。
【解决方案2】:
Mulesoft 有一个双活服务器,我们不必担心当一台服务器停机时哪个服务器必须工作,另一台服务器可以工作。内存类似于jvm内存消耗。