为什么/如何部署Verticle的多个实例

时间:2015-07-24 09:24:49

标签: vert.x

在阅读关于vert-x mongo客户端的a document时,我遇到了以下几行:

  

在大多数情况下,您需要在不同的客户端实例之间共享池。

     

E.g。您可以通过部署Verticle的多个实例并希望(...)

来扩展应用程序

引起我注意的是最后一行。我不知道我应该通过部署Verticle的多个实例来扩展我的应用程序。我打算制作一个MongoDbVerticle类来监听事件总线上的查询。

问题是:

我真的应该多次部署这个垂直吗? 多少次?基于什么标准?或者我误解了一些基本概念?我是vert-x的新手,所以很可能。

1 个答案:

答案 0 :(得分:2)

Vertx会将您的请求路由到您定义的其中一个Verticle。由于vertx可以部署在多台机器上,因此您可以练习对具有长时间运行操作的Verticle进行负载平衡(例如与数据库通信或写入文件等)。

如果我记得正确,则vertx使用Round Robin来路由请求。这意味着,如果你有两个mongo-verticle; a和b,它将首先选择a然后再选择a然后再选择a等等。

要部署Verticle,只需使用命令vertx run <verticle>

注意:如果将vertx实例作为fat-jar运行,这并不是那么简单。