1

問題: Tomcat コンテナーにデプロイされた各アプリケーションのスレッド数を制限します。展開された 1 つのコンポーネントがすべてのリソースを独占できないようにします。

weblogic の世界では、最小スレッドと最大スレッドの制約を指定してワークマネージャーを使用し、デプロイごとにそのアプリケーションのワークマネージャーを指定しました。

スレッドの制約を設定できるエグゼキューターについて読みました。ただし、コネクタレベルのみです。利用可能な愚かなトリックの 1 つは、クライアントが単一の tomcat インスタンスに対して異なるポートを使用するようにし、各Connectorに対して異なるExecutorを編成することですが、それは非効率的です。

質問: 提案されたばかげたアイデアよりも優れた解決策はありますか?

deploymentA には、最小 5 スレッド、最大 10 スレッドを割り当てる必要があります

deploymentB には、最小 10 スレッド、最大 50 スレッドを割り当てる必要があります

愚かな解決策

<Executor name="exeOne" maxThreads="10" minSpareThreads="5" maxQueueSize="10" />
<Executor name="exeTwo" maxThreads="50" minSpareThreads="10" maxQueueSize="10" />
<Connector port="11400" executor="exeOne" />
<Connector port="11500" executor="exeTwo" />

deploymentA のクライアント/ユーザーにポート 11400 のみを呼び出してもらいます。deploymentB のクライアント/ユーザーに、ポート 11500 のみを呼び出してもらいます。

4

0 に答える 0