我正在编写一个集群的Vert.x应用程序,该应用程序在其入口点使用了一个worker-verticle池。这些Verticle正在无休止地迭代,要求从中央持久队列执行任务。 当然,这种类型的Verticle是一个worker-verticle,在它自己的专用工作池中运行。
我想根据队列中待处理任务的数量来增加和减少此Verticle的数量,但由于工作池具有常量大小,我不知道如何实现这种行为。
是否有可以扩展和缩小群集工作池的最佳实践?
此外 - 我希望随着系统总负载的增加,向我的群集添加更多虚拟机。在vert.x中是否有内置的集群自动缩放支持?
由于
答案 0 :(得分:1)
我不认为可以通过vertx api重新扩展工作池大小,但工作池只是标准的FixedThreadPool执行器服务。您可以将该执行程序服务替换为另一个实例。查看Java所拥有的各种Executor服务,看看它是否符合您的需求。
请参阅有关更改ExecutorService的帖子:multithreading within vertx