vert.x-快速入門


一、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

https://start.vertx.io/

image

選擇web 和mysql客戶端

image

image

點擊 Generate Project 下載生成的工程

image

2、把剛剛生成的starter用 idea打開

主函數

image

添加啟動類

image

注意事項:

1、jdk需要版本為 jdk11

2、run 后的地址要正確,和 MainVerticle 類所在package 要對上


參考:https://www.jianshu.com/p/295e3122b466

 
       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM