Верный вертикал справедливая миграция при сбое сервера
Я провожу некоторые эксперименты с Vertx в режиме высокой доступности. Для тестов я использую 4 узла в режиме высокой доступности на одной физической машине. По сути, я создаю различное количество вершин на разных узлах, затем убиваю один узел и наблюдаю, куда они переносятся. Вывод:
Все вершины из уничтоженного узла переносятся на один целевой узел. На остальных узлах нет "справедливого" распределения (для 4 узлов 1 убитых, 3 оставшихся - 1/3, 1/3 и 1/3 на оставшийся узел).
Кажется, что целевой узел выбирается случайным образом, независимо от количества вершин, которые он уже размещает.
Версии программного обеспечения, которые я использовал, были vertx 3.5.4, vertx-hazelcast 3.6.2 и java 11.0.1, и я не изменил конфигурацию Hazelcast по умолчанию.
Q1: это из-за Vertx или Hazelcast?
Q2: есть ли способ изменить это поведение программно или по конфигурации?