包装 / 运行 Vert.x (3.x) 申请

Packaging / Running Vert.x (3.x) Application

我已经开始实现一个 Vert.x 应用程序如下:-

  1. 通过 REST 服务公开业务 API。
  2. REST 服务将请求(异步)委托给下一级,即我的服务层。
  3. 服务层然后与 MySQL 数据库(使用 executeBlocking())或 MongDB(使用 MongoClient)交互以满足其所有数据需求。

基本上是一个多层应用程序。我的源代码结构如下:-

  1. 有一个 Maven Java 项目包含 REST 和服务 Vert.x Verticle。
  2. 还有另一个 Maven Java 项目包含数据库访问实现。这里我使用 Spring / Hibernate / JPA.

我的要求是 运行 这个 Vert.x 应用程序处于 HA 模式。我被困在这里关于如何打包我尝试了 Fat Jar 选项。但是我找不到启动多个 Verticle 的方法。

任何建议/帮助都会有很大帮助。

如何打包不同的模块不如应用程序模块基本上如何通信重要,即您的 RESTful 前端服务如何与您的可委托服务通信,以及后者如何与您的后端服务通信。在这种情况下没有线索,因为您 Vert.x 强调微服务架构,我们可以采用您的那种风格。

如果您遵循了 Vert.x 精神(我假设您这样做了,因为我看不到任何源代码),那么您的 Verticles 应该是独立的并且可以全部部署,比如 部署顶点 ,这将 bootstrap 整个应用程序。

从这个角度来看,您的 Verticle 可以放在同一个 fat jar 中,当 运行 您的应用程序应该只启动一个上述 verticle 将加载和设置不同的 Verticle,如下所示:

~$ vertx run com.somepackage.MyDeploymentVerticle