私は次の処理を行いC#のコンソールアプリケーションをデプロイする場合:C#複数のコンソールアプリケーションが実行され、分離
- は、SQL Server(メッセージ(ActiveMQの)
- が
- メッセージの内容を処理し、データベースに結果読み書き)
これを複数回実行すると問題がありますか?バッチファイルを作成して100個のインスタンスを実行したらどうなりますか?各インスタンスが同じ共有DLLを使用していると仮定すると、競合が発生しますか? Apache.NMS.ActiveMQ。
もう1つの方法は、アプリを複数回デプロイすることですが、重複したフォルダを管理する必要はありません。私は現時点でスレッド化を避けていますが、将来のさらなる開発のためのオプションになります。
これらのDLLで何が起きているのかを明確にし、スレッド型の競合がないことを確認してください。他のインスタンスの処理結果をデータベースに書き込む1つのインスタンス...
同じアプリケーションの100インスタンスを実行して、何を達成したいですか?すべてのインスタンスが同じ構成で実行されているか、完全に同一ですか? – Glenn
複数のプロセスが同じメッセージキューを吸い込み、同じdbaseテーブルを更新することで問題になる方法はたくさんあります。プロセスの1つをクラッシュさせるだけでは、回復不可能なデータ損失でかなり悲惨にならなければなりません。しかし、それを試してみてください。少なくともそれがより速く走るかどうかは分かります。それはかなりありそうもない。 –
@Glennは完全に同一ですが、試行する理由は、最終的にNinjectを使用して実行時に同じインタフェースを実装する別のDLLにロードすることになります。 – finoutlook