Vert.x 自动缩放 - vert.x 部署多个垂直

Vert.x auto scale - vert.x deploy multi verticles

我是 vert.x 的新手。我 不是 寻找代码 snippets/examples 因为 vert.x github 页面充满了它们。

我正在寻找一些事实和最佳实践。

我正在编写一个应用程序,它的主要 Verticle 是处理 Restful 请求的 HttpServer。

我使用 maven shade 插件打包应用程序,如下所述:http://vertx.io/blog/my-first-vert-x-3-application/

<manifestEntries>
  <Main-Class>io.vertx.core.Starter</Main-Class>
  <Main-Verticle>io.vertx.blog.first.MyFirstVerticle</Main-Verticle>
</manifestEntries>

第一题:

运行应用程序的不同方式有什么区别吗:

  1. 运行 使用 java -jar app-fat.jar
  2. 顶点运行MyApp.java
  3. 任何其他方式...?

第二题:

随着用户请求数量的增加,我是否需要做任何事情,或者 vert.x 会扩展并创建我的 HttpServer verticle 的更多实例?

第三题:

假设我的一个 REST 处理程序将其任务委托给另一个 Verticle,例如执行数据库相关任务的 Verticle。我应该如何部署该 Verticle?来自行家?来自 HttpServer verticle?哪种方式是最佳做法?

  1. 这仅取决于您发布 Verticle 的方式。我使用胖 JAR,所以我推荐你第一个选项。第二个选项 (vertx run MyApp.java) 源自 Vert.x 2,不推荐使用胖 JAR。

  2. 部署前需要指定Verticle的个数。我不知道有什么工具可以帮助调整 运行ning verticles 的数量。您只需要手动完成即可。

  3. 最好创建一个单独的 Verticle 来部署您需要的所有 Verticle。我可能会建议您使用 https://github.com/vert-x3/vertx-service-factory 并创建一个配置,其中将包含您想要 运行.

  4. 的服务定义