Vert.x Guide 總結 譯

    這是這一篇指導的結尾,讓咱們花一點時間來歸納前面重點的部分,而後總結能夠進一步提高的資源。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

That’s all folks!

咱們但願你喜歡這篇教程,但願你對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/

個人微信公衆號:

相關文章
相關標籤/搜索