Finagle内で使用されるNettyは、「ハンドラー」のパイプラインを使用して、バインドされたデータを順次処理します。Nettyの例と含まれているライブラリは、認証、プロトコルコーデック、サービスの実際のビジネスロジックなどに使用されるさまざまなハンドラーを示しています。
Finagleはハンドラーの概念を採用しているようで、代わりにAPIユーザーにコーデック、フィルター、およびサービスを直接提供しています。これらにはさまざまな署名がありますが、Finagleの新規ユーザーには、サーバー全体の各部分を実装するためにどちらを使用するかを決定するタスクが残されています。チェーンをさまざまなNettyハンドラーに分割する場所を単に決定するのではなく、チェーンの最後にある単一のサービスに対して、フィルターに対して、コーデックの一部にする部分を決定する必要があります。要約すると、FinagleはNettyよりも高レベルのライブラリであり、サービスの構築タスクを容易にするはずですが、APIユーザーはより多くの選択肢を選択できる可能性があります。
処理ストリームの特定の部分をコーデック、フィルター、単一サービスに配置するための重要な決定ポイントと長所/短所は何ですか?パイプラインをさらに拡張できる可能性がある場合は、代わりにサービスロジックをフィルターに配置し、パイプラインの最後に「noop」サービスを配置する必要がありますか?(パイプラインのハンドラーとしての)フィルターの順序付けの柔軟性を考えると、一方の端に単一のコーデックがあり、もう一方の端にサービスがあるのに対して、なぜ「すべて」をフィルターにすべきではないのでしょうか。