精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

Vert.x 3.3.0增強了網絡、微服務、測試等特性

責任編輯:editor004

作者:Clement Escoffier

2016-07-05 13:33:24

摘自:INFOQ

該版本提供了大量的新特性和改進,下面將介紹其中最重要的內容。在Java中,DNS域名解析是一個阻塞事務,使用一個比較慢的DNS服務可能會長時間阻塞Vert x事件循環,這與Vert x的宗旨不符:“永不阻塞事件循環”。

Vert.x發布了其工具集的3.3.0版本。該工具集用于基于JVM構建反應式、分布式、多語言應用程序。

該版本提供了大量的新特性和改進,下面將介紹其中最重要的內容。

網絡

Vert.x 3.3.0內置支持HTTP2,允許開發人員創建HTTP2客戶端和服務器,包括H2C和HTTP2 push。

HTTP/2是一個幀協議,使用幀表示HTTP請求和響應。該版本允許應用程序在請求上使用customFrameHandler方法接收自定義幀,每次有自定義幀到達時,該方法都會被調用。下面是文檔中提供的一個例子:

request.customFrameHandler(frame -> { System.out.println("Received a frame type=" + frame.type() + " payload" + frame.payload().toString());});

該版本還新增了對Socks5和HTTP代理的支持,允許用戶在配置TCP和HTTP客戶端時配置代理設置。

在Java中,DNS域名解析是一個阻塞事務,使用一個比較慢的DNS服務可能會長時間阻塞Vert.x事件循環,這與Vert.x的宗旨不符:“永不阻塞事件循環”。為了避免這種情況,Vert.x 3.3.0集成了一個異步DNS解析器。現在,當創建HTTP客戶端或者TCP客戶端時,主機名解析會異步進行。在TCP和HTTP服務器初始化時也會用到這個異步解析器。

Vert.x事件總線是Vert.x應用程序的骨架。它允許Vert.x應用程序的不同部分通過消息進行通信。以前,用戶是無法對這類通信的TCP層面進行配置的,但在3.3.0版本中,你可以配置通信的所有層面,包括SSL,因此,你可以通過事件總線安全地交換消息。

集成

Vert.x應用程序通常會集成進更大的系統,Vert.x 3.3.0改進了Vert.x與系統其他部分的交互方式。首先,它提供了同Apache Camel的橋接功能,后者是一個流行的集成框架,提供了超過100個組件來連接各種應用程序。

Vert.x 3.3.0提供了一個RabbitMQ客戶端、一個AMQP 1.0客戶端和橋接器。AMQP 1.0是一種流行的跨平臺消息協議,可以廣泛應用于多種場景。

鑒于安全是任何互聯網應用程序的一個核心問題,Vert.x 3.3.0增加了對OAuth 2身份驗證機制的支持,因此,你現在可以輕松地將應用程序連接到任何OAuth 2提供商,比如Google、LinkedIn、Github、KeyCloak、Twitter和Facebook。

微服務

自創建之初,Vert.x就成為了微服務架構的先驅,但有關微服務的實踐已經發生了變化,在Vert.x 3.3.0中,我們提供了如下兩個特性:

服務發現 斷路器

服務發現是一種提升服務位置透明度的方法;服務是在運行時發現的,服務位置不需要硬編碼。使用Consul或Kubernetes可以擴展服務發現的支持環境。

Vert.x總是將故障作為一等公民,但有時候,你需要更為高級的故障管理,尤其是要避免對(故障)服務施加過大的壓力。針對這種情況,Vert.x提供了自己的斷路器模式實現。

監控

Vert.x 3.3.0還擴展了收集的指標集合。當然,這為HTTP2提供了支持,但它還讓更好地監控由Vert.x管理的線程成為可能。例如,現在可以監控工作隊列了,這樣就可以對它的大小進行配置以滿足你的需求。

此外,為了改進調優功能,JDBC連接池還增強了反饋指標。

使用Vert.x編程

Vert.x 3.3.0還改進了開發模型,包括改進用于并行執行任務的Futures類的構成,簡化了異步操作的鏈接。

應用程序測試至關重要,經過改進的Vert.x Unit允許使用任何斷言框架。你不必再局限于由TestContext提供的斷言;你可以使用Hamcrest、 AssertJ或Rest-Assured。

上述只是其中的部分特性和改進。Vert.x 3.3.0提供的其他特性和改進還有許多,包括JDBC批處理支持、Redis geo指令,等等。要了解更多信息,請查看Vertx.io網站。

查看英文原文:Vert.x 3.3.0 Features Enhanced Networking Microservices, Testing and more

鏈接已復制,快去分享吧

企業網版權所有?2010-2024 京ICP備09108050號-6京公網安備 11010502049343號

  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 老河口市| 德阳市| 商水县| 根河市| 胶南市| 宁波市| 阆中市| 合阳县| 西吉县| 福海县| 福贡县| 西林县| 咸宁市| 河源市| 新民市| 炉霍县| 闸北区| 营山县| 宁明县| 柯坪县| 彭泽县| 岑巩县| 栾川县| 罗平县| 龙川县| 云安县| 咸宁市| 班戈县| 仁寿县| 宾川县| 普格县| 南漳县| 连城县| 凉城县| 吴旗县| 郑州市| 龙州县| 宣汉县| 芒康县| 和田市| 固原市|