我使用hazelcast 3.2.5进行了非常简单的两个节点设置。第一个节点的启动时间约为3秒,第二个节点仅使用getTcpIpConfig大约10秒启动。我试图通过
来改善启动时间System.setProperty("hazelcast.local.localAddress", "127.0.0.1");
建议here但没有任何改进。然后我试了一下:
System.setProperty(GroupProperties.PROP_WAIT_SECONDS_BEFORE_JOIN, "1");
这会将第2个节点的开始时间减少到6秒。
这是我对两个节点的配置:
Config cfg = new Config();
NetworkConfig nCfg = cfg.getNetworkConfig();
nCfg.getJoin().getMulticastConfig().
setEnabled(false);
nCfg.getJoin().getAwsConfig().
setEnabled(false);
nCfg.getJoin().getTcpIpConfig().
setConnectionTimeoutSeconds(5).
addMember("127.0.0.1:5701,127.0.0.1:5702").
setEnabled(true);
大部分时间花在SocketConnector(0.5s),TcpIpConnectionManager(2.5s)和ClusterService(2s)以及其他地方。
我希望两个启动时间都低于3.这有可能吗?
如果没有,我可以以某种方式启动节点,只加载来自数据库的数据并在之后加入集群吗?