vert.x-介绍及快速入门

一、前言

公司的新项目是vertx开发的,找了很久发现这个框架目前的资料还是挺少的,那就自己做一个比较全的资料吧。

二、vert.x介绍

  • vert.x是Eclipse软件基金会顶级java开源项目之一,它基于netty的、运行在jvm之上的、支持多种编程语言的高性能异步、非阻塞、响应式全栈java web框架。它在techempower.com网站多项性能测试中占据java语言榜首。官网地址如下:https://vertx.io/
  • Vert.x采用单一组件结构设计,即Verticle,所有业务功能都使用Verticle这种单一的组件编程完成,克服以往应用框架和平台包含众多类型的组件模式,使得开发人员能极快适应Vert.x编程,加快项目的开发速度。
  • Vert.x中所有的Verticle组件都是完全解耦合的,任何组件之间不能直接调用,只能通过在Vert.x的事件总线上发送事件来完成,彻底解决了传统应用系统中管理组件间相互依赖的复杂性,最终使得Vert. x应用编程极其简单高效。
  • Vert.x使用单线程事件驱动的异步工作模式,编写Vert.x组件时,不需要考虑复杂的多线程编程难题,并不需要关注线程之间的调用、同步、加锁等繁琐处理编程,简化了编程代码,提高了编程效率。
  • Vert. x通过提供一整套的异步编程API实现异步编程模型,在Vert. x中所有的请求处理都是通过注册事件监听处理器机制完成的。编程TCP处理服务器Verticle,通过注册TCPSocket的数据到达事件监听器,实现数据到达后的回调处理,而不是采用一直等待数据读取的阻塞模式,实现的是非阻塞的异步工作模式。
  • Vert.x的核心运行机制是事件循环,当Vert.x实例启动后,Vert.x框架在每个CPU的内核创建一个事件循环线程。此事件循环线程永不结束,它不断监听出现的各种事件,如事件总线的事件到达WebSocket上的数据接收,HTTP上的请求到达HTTP响应结束,定时器触发等等,并把事件分发到注册了监听此事件的Verticle,再继续监听其他的事件,如此反复直到Vert.x实例停止。

三、vert.x 与 spring的对比

  • spring是单体架构设计,
  • vert.x面向分布式设计,性能高,在vert.x的概念中,没有MVC,没有AOP,没有ORM。二者的生态框架对比图如下
vert.x spring
Vert.x Core Spring Framework
Vert.x Web SpringBoot
Vert.x Data Access Spring Data Jpa
Vert.x Reactive Project Reactor
Vert.x Microservices Spring Cloud
Vert.x Authentication and Authorisation Spring Security
Vert.x MQTT
Vert.x Messaging Spring AMQP
Vert.x Devops Spring Devops
  • vert.x 与 Spring 支持的编程语言对比
vert.x spring
java,Kotlin,JavaScript, Groovy,Ruby,Scala java,Kotlin,Groovy

四、vert.x 学前准备

  • JDK: openjdk 11
  • IDE: IntelliJ IDEA Community 2020.1
  • 数据库: MySql8 & PostgreSq10

五、第一个vert.x

1、在官网生产starter
步骤1
步骤2
步骤3
步骤4
2、把刚刚生成的starter用 idea打开
主函数

添加启动类
配置启动类-1
配置启动类-2

启动-1
访问

你可能感兴趣的:(vert.x-介绍及快速入门)