Apache Ignite: тестирование утилит - PullRequest
0 голосов
/ 10 октября 2019

Предоставляет ли Apache Ignite какие-либо утилиты для тестирования, которые можно использовать для быстрого развертывания кластера из нескольких узлов в тестах для модульных и интеграционных тестов?

1 Ответ

2 голосов
/ 10 октября 2019

Насколько я знаю, такого не бывает. Достаточно просто запустить несколько узлов Ignite в одной JVM без каких-либо дополнительных инструментов.

Чтобы запустить несколько узлов в одной JVM, необходимо указать igniteInstanceName в конфигурации каждого узла.

Чтобы все узлы видели друг друга, удобно использовать TcpDiscoveryVmIpFinder без каких-либо адресов в нем и с флагом 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;
}
...