why/how 部署 Verticle 的多个实例

why/how deploying multiple instances of a verticle

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

In most cases you will want to share a pool between different client instances.

E.g. you scale your application by deploying multiple instances of your verticle and you want (...)

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

问题是:

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

发生的事情是 vertx 会将您的请求路由到您定义的其中一个 Verticle。由于 vertx 可以部署在多台机器上,你可以练习负载平衡你有长时间 运行ning 操作(例如与数据库对话或写入文件等)的 Verticle。

如果我没记错的话,vertx 使用 Round Robin 来路由请求。这意味着如果你有两个 mongo-verticle; a 和 b,它将首先 select a 然后 b 然后再 a 等等。

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

注意:如果你 运行 你的 vertx 实例是一个 fat-jar,这就不那么简单了。