CQRSを機能させるには、ホスティングサーバーにMSMQまたは同様のメッセージ処理アプリケーションが必要ですか?
一般的にはそうですが、もちろんそれはCQRSの定義に依存します。たとえば、CQRSとして個別の読み取りモデルと書き込みモデルのみを使用する単一のデータストアアーキテクチャを検討する人もいます。この場合、読み取りストアと書き込みストアを明示的に同期する必要はありません。ただし、通常の意味では、読み取りと書き込みの間の同期が必要であり、通常、MSMQがインスタンスであるメッセージングシステムで実装されます。
CQRSを機能させるには、ホスティングサーバーにMSMQまたは同様のメッセージ処理アプリケーションが必要ですか?
ASP.NET MVCの非同期は、単一の要求を非同期に処理するために使用されます。バックグラウンドタスクを実行したり、プロセスやノード間(書き込みストアや読み取りストアなど)でメッセージを渡したりするためには使用されません。
いくつかの提案:
- Azure、AWS、AppHarbor、iron.ioなどのプロバイダーでCQRSに必要なインフラストラクチャをホストすることを検討してください。
- RavenDBはCQRSをすぐにサポートできるため、データストアにRavenHQのようなものを使用することを検討してください。この場合も前の場合も、どうしても必要な場合は、GoDaddyなどを使用して前面のASP.NETアプリをホストできます。