OSS探訪

Netty — event loopとChannel pipelineで高性能protocol server/clientを組み立てるJava network framework

OSS健全度 96
スコアの見方

発掘スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした独自指標(上限なし)。成長モメンタムは観測期間内の同スコアの差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
35,061
主要言語
Java
ライセンス
Apache-2.0
リポジトリ最終更新
2026/09/17

概要

Nettyは、Javaで高性能なprotocol server/clientを構築するためのasynchronous event-driven network application frameworkです。4.2系はJava 8+を基盤に、Channel/pipeline、codec、TLS、HTTP/2・HTTP/3、native transportまでをmoduleとして組み合わせます。2026年9月17日時点のlatest releaseは4.2.18.Finalです。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

event loop・Channel・handlerでprotocol pipelineを組み立てる

Nettyはnon-blocking I/Oをevent-drivenに扱うframeworkで、client/server bootstrap、Channel、pipeline/handlerを組み合わせてprotocol処理を構成します。HTTP専用serverではなく、TCP/UDPを含む独自protocolやgateway、proxy等の土台として使えます。

出典:[2][3]

HTTP/2・HTTP/3とnative transportまで同じframework内で扱う

4.2系はJava 8+で動作し、optionalなio_uring native transportはJava 9+を要求します。repositoryはHTTP系codec、TLS、QUIC/HTTP3、native transport等をmoduleとして分割しており、必要な機能をMaven dependencyとして選択できます。

出典:[2][3]

高connection数・custom protocol・gateway層をJavaで細かく制御したい用途に

HTTP frameworkより下の層でconnection、buffer、codec、event loopを制御したい場合に向きます。framework自身がapplication routingやServlet lifecycleを提供するわけではないため、その上のprotocol/application layerは自分で設計します。

出典:[2][3]

4.2.18.Finalはsecurity hardeningが大きく、既存trafficの互換性testが必要

最新4.2.18.Finalは複数protocolのvalidation/resource limitを強化しており、release noteも既存workloadがrejectされる可能性を明記しています。特にQUICでhostname verificationを有効にする構成ではtrust manager要件が厳格化されています。dependencyだけ上げず、実traffic相当のprotocol testを行うべきreleaseです。

出典:[4]

参考にした公式資料

  1. [1]netty/netty — GitHub repository metadata(2026-09-17)
  2. [2]Netty — README (4.2 branch)(2026-09-17)
  3. [3]Netty — pom.xml (4.2 branch)(2026-09-17)
  4. [4]Netty 4.2.18.Final release(2026-09-17)
編集部からの補足

JettyのようなServlet containerではなく、protocol server/clientを組み立てる低レベルnetwork frameworkとして整理します。

3ステップで試す

  1. 1

    ソースを取得

    git clone --depth 1 https://github.com/netty/netty.git
  2. 2

    リポジトリへ移動

    cd netty
  3. 3

    公式手順を確認

    READMEのInstallation / Quick Start / Getting Startedにある公式コマンドを続けて実行してください。

    find . -maxdepth 1 -iname 'README*' -exec sed -n '1,220p' {} \; -quit
公式READMEで確認

成長

成長の推移 · 直近30日

35,061 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
83
Open PR
87

開発アクティビティを蓄積中です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る
Stars
35,061
Forks
16,269
Watchers
1,668
Open Issues
587
主要言語
Java
ライセンス
Apache-2.0
リポジトリ最終更新
2026/09/17

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。