Vert.x教程

时间:2020-01-09 10:47:12  来源:igfitidea点击:

Vert.x是在Java虚拟机上运行的开源,可响应的,多种语言的工具包或者平台。我们可以将Vert.x视为Java Enterprise Edition的替代产品,但可以采用不同的方法来解决开发联网的高并发应用程序的相同问题。我们将在以下各节中看到如何操作。

我们可以在此处找到Vert.x:

http://vertx.io

Vert.x作为工具箱或者平台

Vert.x可以像工具包一样使用。我们可以将Vert.x嵌入独立的Java应用程序中,实例化Vertx对象并在其上调用方法,以使Vert.x能够执行所需的操作。在工具箱模式下,代码控制Vert.x。

Vert.x也可以像平台一样运行。我们可以从命令行启动Vert.x,并告诉它要运行哪些组件。这类似于我们通常启动Java EE应用程序服务器的方式。

Vert.x是反应性的(Reactive)

Vert.x称自己为反应式工具箱。反应性应用程序由相互发送消息或者事件的组件组成。这是与Java EE完全不同的内部设计。这种内部设计使Vert.x适用于Java EE以外的其他类型的应用程序(例如,聊天和游戏服务器)。实际上,我冒着大胆宣称Vert.x比Java EE更适合于更多类型的应用程序的风险。

在关于并发模型的教程中,我解释了Java EE和Vert.x使用的不同并发模型。 Java EE使用并行工作器模型。另一方面,Vert.x将装配线模型与通道配合使用。

Vert.x是多语种

Vert.x是多语言的,意味着我们可以用许多种不同的语言来实现想要Vert.x执行的组件(称为" Verticles")。 Vertx。可以执行Java,JavaScript,Ruby,Python和Groovy。对Scala和Clojure的支持应该很快到达(最初计划在3.0版中使用,但我不确定他们是否支持)。我也看到过有关支持PHP和Ceylon的谣言。

Vert.x甚至可以将以不同语言编写的顶点部署到同一应用程序中。这使我们可以自由选择最适合每种工作的语言。使用诸如Scala之类的函数语言,某些任务可能更易于实现。其他人则可以使用Java等更传统的命令式语言来轻松完成任务。

Vert.x的多语言性质也使我们可以自由地尝试新语言,以查看它们是否更适合应用程序类型。我们可以用不同的语言编写相同的任务并进行比较。

如果我们是Vert.x的新手,但知道Vert.x可以执行的其中一种编程语言,则只需专注于学习Vert.x,而不是一种新的编程语言。无论我们已经知道哪种编程语言(只要它是在Vert.x上运行的语言),这都使Vert.x易于学习。

以同样的方式,Vert.x使得学习新的编程语言变得更加容易。我们无需从头开始学习语言和新平台(例如Ruby和Rails)。 Vert.x的内部概念是相同的,即使我们使用不同的语言编写了顶点。这意味着我们只需要专注于新语言,而不是整个平台。

最后,如果我们选择更改语言,Vert.x使我们可以自由地从一种语言缓慢过渡到另一种语言。我们可以保留所有旧代码,并仍在同一应用程序中使用它。然后,我们可以用新的语言编写新的Verticle,也可以用新的语言缓慢地重写旧的Verticle。

Vertx。 3.0及更高版本

本教程基于Vert.x 3.0。