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实例停止。

  • 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

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

选择web 和mysql客户端

点击 Generate Project 下载生成的工程

主函数

添加启动类

注意事项:

1、jdk需要版本为 jdk11

2、run 后的地址要正确,和 MainVerticle 类所在package 要对上

Original: https://www.cnblogs.com/fb010001/p/15905037.html
Author: 方斌
Title: vert.x-快速入门

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/586187/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • linux 安装docker

    https://www.cnblogs.com/kingsonfu/p/11576797.html posted @2022-04-29 17:52 银河星光 阅读(10 ) 评论…

    Linux 2023年6月13日
    0131
  • Arthas-开源的java诊断工具,非常有用

    常用命令 help 查看帮助 help COMMAND 查看指定&#…

    Linux 2023年6月13日
    0199
  • tqdm和zip组合使用时无法显示进度条-解决办法

    问题 单独对于可迭代对象iterator使用tqdm时,结合循环就可以在终端显示进度条, 以直观展示程序进度,如下: from tqdm import tqdm textlist …

    Linux 2023年6月7日
    0174
  • MySQL日志管理之二进制日志

    二进制日志采用二进制格式(01)来存储日志信息(导致数据发生变化的SQL语句),二进制日志记录整个数据库的修改过程。 MySQL的二进制日志主要就是起一个备份的功能。二进制日志≈备…

    Linux 2023年6月7日
    0135
  • Java基础系列–06_抽象类与接口概述

    抽象类与接口的简单概述 抽象类(1)如果多个类中存在相同的方法声明,而方法体不一样,我们就可以只提取方法声明。如果一个方法只有方法声明,没有方法体,那么这个方法必须用抽象修饰。而一…

    Linux 2023年6月7日
    0133
  • jenkins使用shell脚本执行nohup java -jar包失败

    一、问题 通过jenkins执行shell脚本时,脚本中是通过nohup java -jar &的方式启动,显示执行成功,但是服务却没启动,脚本如下: #! /bin/ba…

    Linux 2023年5月28日
    0223
  • 需求分析到软件设计复习

    什么是需求分析? 需求分析就是需求分析师对用户期望的软件行为进行表述。 谁来表述 -> 需求分析师 谁有期望-> 用户 期望什么?-> 期望的软件行为 怎样表述?…

    Linux 2023年6月8日
    0152
  • rsync

    rsync rsync是linux系统下的数据镜像备份工具。使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH、rsync主机同步。 rsync…

    Linux 2023年6月7日
    0143
  • 学习一下 SpringCloud (三)– 服务调用、负载均衡 Ribbon、OpenFeign

    (1) 相关博文地址: 学习一下 SpringCloud (一)– 从单体架构到微服务架构、代码拆分(maven 聚合): https://www.cnblogs.com/l-y…

    Linux 2023年6月11日
    0122
  • Linux文件属性及权限

    Linux文件属性及权限 首先我们以root用户的身份登录linux,执行ls -al 查看文件: 文件类型: 【d】 代表目录(directory)、【-】代表文件、【l】代表链…

    Linux 2023年6月11日
    0135
  • 【深度学习】PyTorch Dataset类的使用与实例分析

    Dataset类 介绍 当我们得到一个数据集时,Dataset类可以帮我们提取我们需要的数据,我们用子类继承Dataset类,我们先给每个数据一个编号(idx),在后面的神经网络中…

    Linux 2023年6月13日
    0135
  • VMware服务关闭后一定要重启

    重要的事情说三遍:服务暂时关闭记得重启,服务暂时关闭记得重启,服务暂时关闭记得重启!!! VMware服务由于安装补丁的需要我暂时把服务关闭了,于是我遇到了尴尬的一幕,于是乎发现上…

    Linux 2023年6月7日
    0155
  • AIX下安装bash

    在AIX系统下,默认是没有安装bash环境的,对于经常操作的维护人员来说,非常不方便,所以下面我们来动手安装bash。 1、确认系统是否已安装bash 方法1:之间敲bash命令,…

    Linux 2023年6月14日
    0113
  • jmeter之数据库连接JDBC安装与使用

    jmeter中如果要用sql语句查询数据库,就需要用到JDBC请求和JDBC Connection Configuration了。 首先来了解下,JDBC是什么?英文全称为Java…

    Linux 2023年6月8日
    0160
  • 什么?Android上面跑Linux?

    镜像下载、域名解析、时间同步请点击阿里云开源镜像站 前言 众所周知,现在程序员因为工作、个人兴趣等对各种系统的需求越来越大,部分人电脑做的还是双系统。其中,比较常见的有各种模拟器、…

    Linux 2023年5月27日
    0154
  • Apache Solr Velocity 注入远程命令执行漏洞 (CVE-2019-17558)

    一、Apache Solr介绍 Solr是一个独立的企业级搜索应用服务器,它对外提供类似于web-service的API接口,用户可以通过http请求,向搜索引擎服务器提交一定格式…

    Linux 2023年6月13日
    0131
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球