這是這一篇指導的結尾,讓咱們花一點時間來歸納前面重點的部分,而後總結能夠進一步提高的資源。java
概要react
咱們在guide的開篇用vert.x編寫了一個wiki應用,第一次寫的是一個典型的「快速與愚蠢的原型」,只是用來快速和簡單地展現服務端渲染頁面,還有一個關係型數據庫。git
接下來咱們嘗試如何改善咱們的設計:第一步咱們分離了不一樣功能的verticle,接着抽取不一樣的Vert.x service簡潔 API,最後介紹了Junit 測試異步代碼。github
咱們用web客戶端API集成了第三方 HTTP/JSON 服務,進一步簡化了 Vert.x core 中 HTTP client 的使用,反之,咱們也看到怎麼用 Vert.x web 模塊優雅地提供 HTTP/JSON web APIs 。web
能夠從拓展,提供不一樣的API給不一樣的服務,若是你創建這樣的gateways,咱們建議你利用如下幾點:數據庫
1.Vert.x RxJava支持描服務消費數據流。編程
2.Vert.x circuit-breaker模塊持續監測服務潛在的錯誤。promise
訪問控制、認證和安全每每被忽視,常會致使一個很差後果,咱們看到Vert.X利用數據庫,提供了一個簡單的認證機制。文件或LDAP目錄SSL網絡加密等對服務器的配置比較簡單的,或者客戶端使用。最後 Vert.x 支持 JWT tokens,一個很是有用的和分權的Web API認證方案。瀏覽器
Vert.x core API依賴callbacks是處理異步事件的最通用的方法,vert.x提供簡單的 promise / future API。Vert.x中futures是組合的,在處理verticle的部署和初始化的使用是有限的。咱們能夠看看在 vert.x 中如何使用RxJava,鼓勵使用它在你的verticles中,由於RxJava是JVM上比較流行的響應式編程庫,由於你能夠輕鬆地集成第三方庫。安全
現代Web應用程序每每服務器提供HTTP / JSON API,依賴客戶端的web 框架處理接口,咱們能夠看到用AngularJS來優化咱們的wiki應用。
最後,咱們看到使用SockJS bridge能夠優雅地拓展event bus到web應用能夠從瀏覽器發送和接受消息。雖然它可能看起來像是一個小的特性,實踐證實大大簡化實時Web應用功能的開發。SockJS bridge實際上能夠用一個HTTP端點發送消息,而後從event bus獲得一個響應事件有時會比HTTP調用,處理一個HTTP請求簡單,轉發到event bus上的verticle,最終返回一個JSON響應。
Going further
Vert.x 網站是比較權威的,這裏有一下特性和模塊是在guide中沒有覆蓋的:
1.使用Hazelcast, Infinispan, Apache Ignite 或 Apache Zookeeper構建集羣
2.使用其餘支持的語言
3.使用 HTTP/2,可能gRPC
4.使用NoSQL數據庫,好比 MongoDB 或者 Redis
5.發送郵件 SMTP
6.使用消息中間件AMQP, Stomp, Kafka, MQTT or RabbitMQ
7.OAuth2認證
8.Vert.x異步編寫的阻塞式代碼在運行時裝換成非阻塞代碼
9.註冊和發佈微服務,好比在OpenShift的集羣環境部署實例
10.指標和健康檢查
這個列表並不詳盡:Vert.x是一個工具集,你能夠選擇你須要的集成進去,或大或小。你也會發現瀏覽 Vert.x awesome,看到許多項目支持外的其餘功能。若是你部署微服務,咱們建議你閱讀「Building Reactive Microservices in Java"book by Clément Escoffier
咱們但願你喜歡這篇教程,但願你對Vert.x異步編程的旅程是有用的。請與做者聯繫,或直接經過電子郵件或經過vert.x項目的用戶組。固然,咱們感謝讚美,感謝那麼多有建設性的反饋意見,能夠改善這一內容。
Thank you very much!
Version 1.1.0
Last updated 2017-10-19 14:01:10 CEST
原文連接:http://vertx.io/docs/guide-for-java-devs/
個人微信公衆號: