私の謙虚な意見では、Netty https://netty.io/などの洗練された接続処理フレームワークと洗練されたAkka http://akka.io/などの非同期処理のフレームワーク
最初にhttp://static.netty.io/3.5/guide/#architecture.8で http のNettyサポートの内部を見てみましょう。
4.3. HTTP 実装
HTTP は間違いなくインターネットで最も普及しているプロトコルです。サーブレット コンテナなどの HTTP 実装はすでに多数あります。では、なぜ Netty はそのコアの上に HTTP を持っているのでしょうか?
Netty の HTTP サポートは、既存の HTTP ライブラリとは大きく異なります。低レベルでの HTTP メッセージの交換方法を完全に制御できます。基本的には HTTP コーデックと HTTP メッセージ クラスの組み合わせであるため、スレッド モデルの強制などの制限はありません。つまり、思いどおりに動作する独自の HTTP クライアントまたはサーバーを作成できます。スレッド モデル、接続ライフ サイクル、チャンク エンコーディングなど、HTTP 仕様のすべてを完全に制御できます。
それでは、 Akkaの内部を掘り下げてみましょう。Akka は、Java 並行 API の上に優れた抽象化を提供するフレームワークであり、Java または Scala の API が付属しています。
- アプリケーションをアクターの階層として構造化する明確な方法を提供します。
- アクターは、不変メッセージを使用してメッセージ パッシングを介して通信するため、スレッド セーフを気にする必要はありません。
- アクター メッセージはメッセージ ボックスに保存され、耐久性があります。
- 俳優は子供たちを監督する責任があります
- アクターは 1 つ以上の JVM で実行でき、多数のプロトコルを使用して通信できます。
- Java Futures よりも使いやすい非同期処理Futureの軽量な抽象化を提供します。
- Event Bus、ZeroMQ アダプター、Remoting のサポート、Dataflow の同時実行、Scheduler などのその他の優れた機能を提供します。
2 つのフレームワークに慣れると、それらを使用して必要なものを簡単にコーディングできることがわかります。
実際、必要なのは Netty でコーディングされた http プロキシであり、リクエストを受信するとすぐにFSMタイプのAkka アクター(http://doc.akka.io/docs/akka/2.0.2/java ) にメッセージを送信します。 /fsm.html)耐久性のあるメールボックス(http://doc.akka.io/docs/akka/2.0.2/modules/durable-mailbox.html )を使用する