1. 程式人生 > >vertex 3.0 與SpringBoot混合開發之初探

vertex 3.0 與SpringBoot混合開發之初探

SpringBoot是最近幾年比較流行的web應用開發框架,它是微服務的一個開發框架。它的Web伺服器核心為Tomcat或Jetty,它們作為Servlet容量來對客戶端的http/https請求進行解析。最近,spring.io又出推出一套新的伺服器核心框架,它就是WebFlux,以流(stream)的方式進行客戶端請求的解析與處理。
Vertx 是另一套微服務開發框架,它是由Eclipse提供的,其伺服器核心是Netty。這個與WebFlux其實是相同的。最近國內有不少朋友發文說,SpringBoot的WebFlux的效能也沒有想象的那麼好,他們指出雖然Non-Blocking技術被使用了。但效能上也存在問題。我雖然沒有對他們的測試結果進行考證,但受他們的文章的啟發用SpringBoot+Vertx 3 + JDBC搭建一個專案。
整體上,這個Demo專案是SpringBoot進行整個專案的底層管理,用Vertx實現RestFul層,用Spring的Service層進行業務處理,以HIKARI進行資料庫連線池的管理,使用JdbcTemplate進行資料庫的操作,整體效能確實有不小的提高,但開發的複雜程式也有不少提高。特別是將客戶請求資料傳給Spring 的Service時,使用到了EventBus,這時候,併發性提高的同時,程式碼實現的複雜性也增加了很多。
從這個Demo經歷來看,在目前應用伺服器使用者較小的情況下,完全沒有必要使用Vertx進行開發,使用SpringBoot已經足夠了。