スタンドアロン/ウェブベースのJavaアプリケーションを構築する予定です。それはすぐに何千もの要求を処理することができるはずです。リクエストメッセージはTCPポート6040などを介して送られます。クライアントからのメッセージを常に聞くための専用のスレッドがあります。メッセージがソケットから読み取られると、このスレッドは要求を処理するスレッドを生成します。したがって、基本的にリクエストごとに1つのスレッド。Javaでロバストなマルチスレッドスケーラブルアプリケーションを作成する際に考慮すべき問題は何ですか?
要求の処理には、リモートデータベースのストアドプロシージャの呼び出し、ローカルデータベースの更新/挿入の実行、ロギングなどの多くのデータベース操作が必要です。要求を処理した後、クライアントに応答を送信する必要があります。
シナリオがはっきりしていることを希望します。簡単に言えば、堅牢なマルチスレッドのスケーラブルなアプリケーション(クリシェを使用する)を構築することです。次のように私の質問は以下のとおりです。
- 着信要求に耳を傾け、メインスレッドが要求ごとにスレッドを作成すべきか、それだけでスレッドプールから1を取る必要があります。私が頼んでいるのは、私のアプリケーションでThread SpawningまたはThread Poolingを使うべきかどうかです。
- スタンドアロンJavaアプリケーションをクラスタに展開することはできますか?
- Webアプリケーション(JBoss 7.1サーバーにデプロイされています)でデプロイして実行することをお勧めします。これは管理目的で開発する予定ですか、スタンドアロンアプリケーションであるべきですか?共有しない:
- は、一般的には、Javaアプリケーションを拡張する必要があることを保証するために、Java
あなたがによって「クラブそれを」何を意味するのですか?でくださいあなたは平均rそれは同じマシン上で?または同じプロセスでですか?または、他の何か? – joshp
web-app – HariShankar
と一緒に同じサーバーインスタンスで実行する何回も何度も構築されているものを再構築しているのはなぜですか?既存の実装に欠けているものは何ですか? –