我正在编写一个集群Vert.x应用程序,它在入口点使用一个worker-verticle池。这些顶点正在无休止地迭代,请求从中央持久队列执行任务。当然,这种类型的verticle是一个worker-verticle,在它自己的专用worker-pool中运行。
我想要根据队列中挂起的任务的数量来放大和缩小这个顶点的数量,但由于工作池的大小是恒定的,我不知道如何实现这样的行为。
有没有什么最佳实践可以让我向上和向下扩展集群工作器池?
此外,随着系统总负载的增长,我希望将更多虚拟机添加到我的集群中。在vert.x中有内置的集群自动伸缩支持吗?
谢谢
发布于 2017-04-02 12:10:06
我认为不可能通过vertx api重新调整工作池的大小,但工作池只是一个标准的FixedThreadPool executor服务。您可以用另一个实例替换该executor服务。查看Java拥有的各种Executor服务,看看它是否适合您的需要。
请参阅这篇关于更改ExecutorService的文章:multithreading within vertx
https://stackoverflow.com/questions/42904207
复制相似问题