Vert.xとNettyの違いは何ですか?なぜVert.xよりもNettyを選ぶべきなのですか?
どちらも高負荷I/O向けに設計された、イベント駆動型のノンブロッキングおよび非同期フレームワークです。
Vert.xはMulti-Reactorパターン(マルチスレッドJVMでのノードスタイルのイベントループ)に基づいていますが、NettyはInterceptor Chainパターンを使用しています。 インターセプターチェーンパターンがマルチリアクターパターンよりも優れている場合
私はNettyのドキュメントをざっと見ただけですが、Vert.xにはNettyよりも機能が多いようです。つまりVertxはスタンドアロンサーバーであり、ポリグロットであり、HAとクラスタリングをすぐに使用できます。
また、Vert.xはNettyよりも少し優れたベンチマークを持っています。
追伸免責事項-私はVert.xに非常に感謝しており、Nettyに慣れていません。したがって、Why should one ever prefer Netty over Vert.x?
両方を比較しようとしています。
違いは、Vert.xがベース Nettyであることです。 pom.xml
vertx-core にあります:
<!-- We depend on the specific Netty dependencies not netty-all to reduce the size of fatjars -->
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-common</artifactId>
<version>${netty.version}</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-buffer</artifactId>
<version>${netty.version}</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-transport</artifactId>
<version>${netty.version}</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-handler</artifactId>
<version>${netty.version}</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-handler-proxy</artifactId>
<version>${netty.version}</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-codec-http</artifactId>
<version>${netty.version}</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-codec-http2</artifactId>
<version>${netty.version}</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-resolver</artifactId>
<version>${netty.version}</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-resolver-dns</artifactId>
<version>${netty.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${jackson.version}</version>
</dependency>
そしてVert.xのNettyバージョン3.5.0-SNAPSHOT
は:4.1.8.Final
Vert.x は、JVMの上に反応型アプリケーションを構築するためのNetty上のプラグイン可能なモジュールのツールキットとエコシステム全体です。