コントリビューターミートアップ
一部のミートアップはNetty自体の開発に焦点を当てているため、コントリビューターのみがこれらのミートアップに招待されます。ただし、Nettyに関わるすべての人のために、ミートアップに関するすべての詳細を後で共有します。
- Bufferの更新
- Netty Core/Contribリポジトリの分離
- HTTPキャッシング
- https://github.com/netty/netty-website/blob/master/meetups/contributor_meetups/2021-10-28/Netty%20Contributor%20Meetup-20211028%201536-1.mp4
- https://github.com/netty/netty-website/blob/master/meetups/contributor_meetups/2021-10-28/Netty%20Contributor%20Meetup-20211028%201536-1.vtt (トランスクリプト)
Chrisがbuffer APIに関連するいくつかの更新を提供しました。
全般
- すべてのフィードバックに対応しました
- ライフサイクルを容易にしました
- モジュールを新しいbuffer APIに変換し始めました
ライフサイクル
- 参照カウントはもう見えません
- バッファは常に所有されており、このためスライス/複製メソッドはもうありません
- 代替として、分割/コピー/送信のような新しいAPIを使用する必要があります
統合
- 設定を介して「新しいアロケーター」を設定できるようになったため、より緊密に統合されています。
- デフォルトの実装が提供されています
- 新しいリーク検出器の実装は、新しいBuffer APIおよび実装で動作するように作成されました。
質問:Vladimir:アロケーターの実装はまだ同じですか?構成などはどうですか? Chris:アルゴリズムの点では同じですが、アロケーターのデフォルト値/構成を見直したいと思います。
Vladimir:チューニングなどに関するドキュメントを公開すると良いでしょう... Norman:はい、そうすべきです!アクションアイテムを追加します。
Julien:どのコーデックがすでに新しいAPIを使用しているのか疑問に思っていました。Chris / Nitesh:現時点では、これを使用しているコーデックはあまりありません。現在、HTTP/1の移植に取り組んでいます。確認してフィードバックを提供してください:https://github.com/netty/netty/pull/11711
Julien:新しいAPIと古いAPIを混ぜて使うことはできますか? Chris:はい、できます。変換メソッドがあります。
Norman:Beta1をリリースするときは、すべて新しいAPIに移行することを目指すべきです。
Chris:あまり使用されないもの/専門知識の低いものをcontribに移動したいと考えています。
Simon:contribの新しいメンテナーなどを「オンボーディング」するにはどうすればよいですか? Norman:まだわかりません...アクションアイテムを追加しましょう
- バッファアロケータの構成/チューニングに関するドキュメントを追加する
- contribモジュールに新しいメンテナー/コントリビューターをオンボーディングする方法について考える
- contribモジュール用に別の組織を持つべきですか? Finagleはこれを行っています
このミートアップは、HTTP/2 APIの変更(https://github.com/netty/netty/pull/11603)について話し合うことに焦点を当てていました。
-
* 子チャネル上のH2エンコーダーとフローコントローラー→開始するために親チャネルに移動すべきですか?潜在的な並べ替えを回避し、接続レベルの状態を完全に把握できますか?
- 関係者:eric、<nitesh、norman、chris、scott>
-
H2プロトコルのアップグレード→h2cをサポートすべきですか?websocketsはどうですか?
- これはオープンな議論事項であり、現時点ではプレーンテキスト(h2c)のアップグレードをサポートしない方向です。ストリームごとのWebsocketのアップグレードは可能である必要がありますが、まだ検証されていません。
- 関係者:Moses、Julien、Susheel、<nitesh、norman、chris、scott>
-
コミュニティミートアップ→ミートアップのコンテンツをキャプチャするためのwikiをセットアップし、次のミートアップのトピックをリクエストできる場所を作成します。
- 関係者:norman
-
早期採用者→Netty 5.0機能(Buffer、h2 api、圧縮など)のPRを確認し、テストする必要がある人が必要です。
- 関係者:<コミュニティのすべての人🎉❤️>
- コミュニティ:隔月ミーティング、議題を共有し、参加できない人のためにメモを保管する
- コミュニティ:Netty 5は、同じアプリケーション内でNetty 4と共存できる必要があります(異なるパッケージ名、Maven座標、異なるJNIライブラリ名とメソッドシグネチャ)
- コミュニティ:(Moses、Eric、Violeta Georgieva)子チャネルの初期化のオーバーヘッドを削減することに関心があります
- Eric:h2 PRは、子チャネルとの制御フレームの関係という点で追跡するのが困難でした。意図された改善点と一般的な変更点が明確ではありませんでした。
- Moses:h2cアップグレードはどのように機能しますか?
- Julien:h2のWebsocket。これはどのようにサポートされますか?
- Susheel:Websocketにはh2cアップグレードが必要ですか? WebSocketハンドラーを使用してアップグレードを実行できますか?
- Eric:H2フレームタイプを「インプレース」にできますか(バッファの変更はNetty全体に浸透します)
- Carl:書き込み可能度はどのように機能しますか?
- Scott:書き込み可能性にフロー制御を使用している場合、接続ウィンドウの更新は子チャネルに接続する必要があります
- Eric:フロー制御と書き込み可能性の間に緊密な結合を持たないことは可能です。トレードオフには追加のメモリが含まれますが、実装/接続が簡素化され、割り当ての競合や公平性の問題が回避されます。
- Eric:エンコーダーとフロー制御が子チャネルにあるのはなぜですか?
- Eric:より不透明なのは、バイトしか見えない(他のフレームが見えない)ためです。チャネル間でhpackエンコーダーを共有するのは、イベントが並べ替えられる可能性があるため、危険なように思えます。
- コミュニティ:カスタムフロー制御アルゴリズムの実装に関心を示した人は誰もいませんでした。このパッケージを最初に非公開にしておくことへの異論はありません
- Eric:プロトタイプには以前諦めたコンポーネントがありますが、どのようにしてパフォーマンス上の利点を取り戻すことができると思いますか?
- Eric:移行を支援するために、API移行シムを検討する必要があります。たとえば、ByteBufからBufferへのシムが必要な場合は、h2などで同じことができるかどうかを検討する必要があります。