在vert.x中扩展工作池

时间:2017-03-20 12:56:20

标签: java multithreading cloud vert.x

我正在编写一个集群的Vert.x应用程序,该应用程序在其入口点使用了一个worker-verticle池。这些Verticle正在无休止地迭代,要求从中央持久队列执行任务。 当然,这种类型的Verticle是一个worker-verticle,在它自己的专用工作池中运行。

我想根据队列中待处理任务的数量来增加和减少此Verticle的数量,但由于工作池具有常量大小,我不知道如何实现这种行为。

是否有可以扩展和缩小群集工作池的最佳实践?

此外 - 我希望随着系统总负载的增加,向我的群集添加更多虚拟机。在vert.x中是否有内置的集群自动缩放支持?

由于

1 个答案:

答案 0 :(得分:1)

我不认为可以通过vertx api重新扩展工作池大小,但工作池只是标准的FixedThreadPool执行器服务。您可以将该执行程序服务替换为另一个实例。查看Java所拥有的各种Executor服务,看看它是否符合您的需求。

请参阅有关更改ExecutorService的帖子:multithreading within vertx