Я экспериментирую с Vertx и особенно с его функциональными возможностями кластера и HA.
У тестового узла есть вертикаль MainVerticle
, которая запускает HTTP-сервер на порту, указанном в файле конфигурации.HTTP-сервер здесь просто для связи с узлом извне с помощью curl.По сути, он создает экземпляры UserVerticle
, вертикали, которые должны имитировать состояние подключенного пользователя, и изменять это состояние.MainVerticle
развертывается автоматически Vertx;UserVerticle
развертываются по требованию с параметром setHa(true)
, установленным в их объекте DeploymentOptions
.Тесты состоят в запуске двух или более узлов, в создании нескольких UserVerticle
экземпляров, а затем в уничтожении (-SIGKILL
не Ctrl-C
) JVM.
Q1 : когда указаны узлыс опцией -cluster
, нет миграции с вертикали с убитого узла на другие.Это нормальное поведение, при условии, что UserVerticle
были начаты с setHa(true)
?
Q2 : когда узлы запускаются с опцией -ha
, все вершинына уничтоженном узле переносятся, даже экземпляр MainVerticle
, который не должен произойти.Я полагаю, что -ha
options помечает его как запускаемый в режиме HA.Есть ли способ отключить HA для экземпляра MainVerticle
в его start()
или в другом месте, или я должен запустить узел методом main()
, без MainVerticle
?