垂直节点在Vert.x节点集群上的公平分布



我一直在试验Vert.x高可用性功能,以测试水平可扩展性和弹性。我有一个基于Hazelcast的由几个节点组成的集群。我正在通过HTTP API在任何节点上创建垂直。顶点在创建时会设置HA标志。

测试可扩展性

如果我有用HA垂直线加载的n节点Nn,并且如果我添加一个额外的节点,则在新节点上没有从Nn节点迁移的垂直线,从而负载将被平衡。有没有办法告诉Vert.x这样做?我相信这不是那么简单。。。

测试弹性

如果我的n节点Nn加载了HA垂直节点,并且我杀死了其中一个节点,那么来自该节点的所有垂直节点都会被迁移,但会在剩余节点中的一个节点上迁移,该节点并不总是加载最少的节点。该目标节点可能会过载,整个集群将面临冻结或崩溃的风险。与之前相同的问题:是否有办法强制Vert.x平衡所有节点上重新启动的垂直线,或者至少在负载最少的节点上?

你的观察是正确的,没有办法:

  • 将故障节点的垂直分布到其他节点上
  • 以防止在已加载的节点中启动垂直

改进HA功能不在Vert.x路线图上。

如果您需要的不仅仅是基本的故障切换,我建议您使用专门的基础设施工具,这些工具可以利用监控系统中的信息,并根据需要启动/停止新节点。

最新更新