2

良し悪しの判断がつかないWebアプリのデザインがあります。
アイデアは次のとおり
です。Tomcat にデプロイされた Web アプリケーション (自明ではない) があり、クライアントの要求を受け入れます。負荷は、Tomcat が処理できる量になる可能性があります。
現在、実際の処理はコンテナー内で行われるのではなく、単一のTCP接続を介して接続する別のプロセスに委任されます。したがって、本質的にここで行われるのは多重化です。
つまり、クライアント要求はクライアントによって同時に送信され、これらの要求はメッセージとして他のプロセスに送信されて処理されます (プロセス自体はマルチスレッドになると思います) が、1 つの接続を介して送信されます。
パフォーマンスが非常に優れている同様の設計 (別のプラットフォーム) について同僚から聞いたことがありますが、私の観点からは、その単一の TCP 接続の使用にボトルネックがあります。
私はマルチスレッドの経験がありますが、非同期アプローチ (nio など) についてよく知らないか、使用したことがないため、これがこのカテゴリに当てはまるかどうか疑問に思っていました。
大きなプロジェクトの一部として多重化を使用した人はいますか (少なくともこの方法で)。それは良いオプションですか?

4

1 に答える 1

1

仰るとおりです。それはボトルネックであり、デザインが悪いです。2 番目の TCP サーバーがマルチスレッド化され、一度に複数のクライアントを処理できる場合は、別の TCP サーバー (Tomcat 自体など) と同じように実装し、複数の接続を使用する必要があります。

于 2012-09-20T23:38:33.487 に答える