Apache Ignite:测试实用程序
Apache Ignite: test utilities
Apache Ignite 是否提供任何测试实用程序,可以用来在单元测试和集成测试的测试中轻松启动多节点集群?
据我所知没有这样的事情。在同一个 JVM 中启动多个 Ignite 节点非常简单,无需任何其他工具。
要在同一个 JVM 中启动多个节点,您需要在每个节点的配置中指定 igniteInstanceName。
为了让所有节点都能看到彼此,使用 TcpDiscoveryVmIpFinder without any addresses in it and with shared 标志设置为 true 很方便。它将使所有使用此类 IP 查找器的相同实例的节点相互看到。
以下代码可用于创建节点配置:
static final TcpDiscoveryIpFinder IP_FINDER = new TcpDiscoveryVmIpFinder(true);
IgniteConfiguration getConfiguration(String instanceName) {
IgniteConfiguration igniteConfig = new IgniteConfiguration();
igniteConfig.setIgniteInstanceName(instanceName);
TcpDiscoverySpi discoverySpi = new TcpDiscoverySpi();
discoverySpi.setIpFinder(IP_FINDER);
igniteConfig.setDiscoverySpi(discoverySpi);
return igniteConfig;
}
Apache Ignite 是否提供任何测试实用程序,可以用来在单元测试和集成测试的测试中轻松启动多节点集群?
据我所知没有这样的事情。在同一个 JVM 中启动多个 Ignite 节点非常简单,无需任何其他工具。
要在同一个 JVM 中启动多个节点,您需要在每个节点的配置中指定 igniteInstanceName。
为了让所有节点都能看到彼此,使用 TcpDiscoveryVmIpFinder without any addresses in it and with shared 标志设置为 true 很方便。它将使所有使用此类 IP 查找器的相同实例的节点相互看到。
以下代码可用于创建节点配置:
static final TcpDiscoveryIpFinder IP_FINDER = new TcpDiscoveryVmIpFinder(true);
IgniteConfiguration getConfiguration(String instanceName) {
IgniteConfiguration igniteConfig = new IgniteConfiguration();
igniteConfig.setIgniteInstanceName(instanceName);
TcpDiscoverySpi discoverySpi = new TcpDiscoverySpi();
discoverySpi.setIpFinder(IP_FINDER);
igniteConfig.setDiscoverySpi(discoverySpi);
return igniteConfig;
}