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

时间:2016-03-18 03:05:13

标签: java vert.x

我是vert.x的新手。我正在寻找代码片段/示例,因为 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. 运行
  3. vertx运行MyApp.java
  4. 任何其他方式......?
  5. 第二个问题:

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

    第三个问题:

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

1 个答案:

答案 0 :(得分:2)

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

  2. 您需要在部署之前指定Verticle的数量。我不知道任何有助于调整运行Verticle数量的工具。你只需要手工完成。

  3. 这是一个很好的做法,可以创建一个单独的Verticle,它将部署您需要的所有Verticle。我可能会建议您使用https://github.com/vert-x3/vertx-service-factory并创建一个包含您要运行的服务定义的配置。