Vert.x是一个轻量级的高性能JVM应用平台(可以认为是一系列非常优秀的库, 提供了各种), 并且可以使用多种语言编写应用, 如Java, Kotlin, JavaScript, Ruby, Groovy等. 它是基于Netty和Java 7的NIO2的编写的。本专题使用Kotlin作为主要语言, 目的是构建一个Web后端应用

Vertx实例

Vertx实例是控制中心, 几乎是执行所有操作的基础, 听起来非常抽象, 但是创建一个vertx实例却非常简单

  1. Vertx vertx = Vertx.vertx();
  2. // 在创建vertx时指定选项
  3. Vertx vertx = Vertx.vertx(new VertxOptions().setWorkerPoolSize(40));

VertxOptions对象具有许多设置,例如配置诸如群集,高可用性,池大小和各种其他设置之类的内容

这里引入官方文档的一段话

Most applications will only need a single Vert.x instance, but it’s possible to create multiple Vert.x instances if you require, for example, isolation between the event bus or different groups of servers and clients. 大多数应用程序只需要一个Vert.x实例,但是如果您需要隔离事件总线或不同组的服务器和客户端,则可以创建多个Vert.x实例。

注意事项

demo地址:https://github.com/gxzqaz/vertx-admin
这边先记录相关的注意点,概念性的以后在补充

注意事项:

  1. 一个vertx应用中只有一个vertx实例和EventBus(但是vertx context可以有多个)
  2. vertx可以在一个端口启动多个HttpServer,会把请求均匀的分给这两个HttpServer
  3. 编程的思维方式和Spring的不一样,构建大型项目的时候需要思考项目的结构(例如是否需要引入Guice,还是统一使用eventBus作为verticle直接通信的桥梁

    总结