vert.x_选择Vert.x的3个理由
vert.x
Vert.x是用于JVM的輕量級高性能應用程序平臺
現代Web應用程序和移動客戶端的興起重新定義了Web服務器的期望。 Node.js是第一個識別范式轉換并提供解決方案的技術。
應用程序平臺Vert.x繼承了Node.js的一些創新,并使其在JVM上可用,將新鮮的想法與最復雜,最快的運行時環境之一結合在一起。 Vert.x附帶了一系列令人興奮的功能,這些功能對于開發Web應用程序的任何人都非常有趣。
非阻塞,事件驅動的運行時
Vert.x提供了非阻塞的 , 事件驅動的運行時。 如果服務器必須執行需要等待響應的任務(例如,從數據庫請求數據),則有兩種方法可以實現:阻塞和非阻塞。
傳統方法是同步或阻塞調用。 程序流暫停并等待答案返回。 為了能夠并行處理多個請求,服務器將在不同的線程中執行每個請求。 優點是相對簡單的編程模型,但缺點是如果線程數量變大,則會產生大量開銷。
第二種解決方案是非阻塞調用。 調用者無需等待答案,而是繼續執行,但是提供了一個回調,一旦數據到達,該回調將被執行。 這種方法需要(稍微)更復雜的編程模型,但開銷卻少得多。 通常,當需要并行處理大量請求時,非阻塞方法會帶來更好的性能。
易于使用的并發性和可伸縮性
Vert.x應用程序由松耦合的組件組成,可以對其進行重新排列以匹配不斷增長的性能要求
Vert.x應用程序是使用類似于Actor的并發模型編寫的。 一個應用程序由幾個獨立運行的組件(即所謂的Verticles)組成。 一個Verticle運行單線程,并通過在全局事件總線上交換消息來與其他Verticles通信。
由于它們不共享狀態,因此Verticles可以并行運行。 結果是編寫多線程應用程序的一種易于使用的方法。 您可以創建幾個負責同一任務的Verticles,并且運行時將在其中分配工作負載,這意味著您可以毫不費力地充分利用所有CPU內核。
頂點也可以分布在多臺機器之間。 這對于應用程序代碼是透明的。 Verticles使用相同的機制進行通信,就好像它們將在同一臺計算機上運行一樣。 這使得擴展應用程序變得非常容易。
Vert.x支持JVM上最流行的語言。 正在支持Scala和Clojure。
多種語言
與許多其他應用程序平臺不同,Vert.x是多語言的。 應用程序可以用幾種語言編寫。 甚至可以在同一應用程序中使用不同的語言。 此時,可以使用Java,Python,Groovy,Ruby和JavaScript,并且即將支持Scala和Clojure。
結論
Vert.x是一個相對較年輕的平臺,因此其生態系統不如更成熟的平臺豐富。 但是,對于最常見的任務,有擴展可用。 Vert.x的優勢令人驚訝。 它的無阻塞,事件驅動性質非常適合現代Web應用程序。 Vert.x使得編寫并發應用程序變得很容易,該應用程序可以輕松地從一臺低端計算機擴展到具有多個高端服務器的集群。 再加上您可以為JVM使用最流行的語言,并使Web開發人員夢想成真的事實!
翻譯自: https://www.javacodegeeks.com/2014/03/3-reasons-to-choose-vert-x.html
vert.x
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的vert.x_选择Vert.x的3个理由的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 迅雷电脑投电视盒子(迅雷投屏小米盒子)
- 下一篇: slf4j 桥接与被桥接_合成和桥接方法