我一直在尝试使用 Vert.x 高可用性功能来测试水平可伸缩性和弹性。我有一个基于 Hazelcast 的几个节点的集群。我正在通过 HTTP API 在任何节点上创建 Verticle。Verticles 在HA
创建时设置了标志。
测试可扩展性
如果我的n
节点Nn
加载了 HA-verticles,并且如果我添加了一个额外的节点,则没有从新Nn
节点上的节点迁移的 Verticle,以便平衡负载。有没有办法告诉 Vert.x 这样做,或者不这样做?我相信这不是那么简单...
测试弹性
如果我有加载了 HA-verticles 的n
节点Nn
并且我杀死了其中一个节点,那么来自该节点的所有 verticles 都会被迁移,但会迁移到剩余节点中的一个节点上,该节点并不总是负载最少的节点。该目标节点可能会过载,整个集群将面临冻结或崩溃的风险。和以前一样的问题:有没有办法强制Vert.x 在所有节点上平衡重新启动的 verticles,或者至少在负载最少的节点上平衡?