私は現在、単一のプロセス空間にあるシステムに取り組んでいます。これをいくつかのプロセスに分割し、最初は同じボックスで実行しますが、最終的には複数の別々のマシンに分散します。私は、ESB (NServiceBus、Rhino ESB) を使用するか、WCF + キューを使用して自分自身をロールバックして、アプリのパブ/サブおよび要求/応答シナリオを処理することに傾いています。
ただし、抽象化に苦労しています。さまざまなコンポーネントがバスを介して話していることを認識したくありません。さまざまなサービスを接続する現在の API は、この種のモデルにうまく変換されますが、クライアント側とサーバー側からそれを隠したいと考えています。クライアントとサーバー用の多くのカスタム プロキシ コードを記述する以外に、これにアプローチするより良い方法はありますか? WCF がサービス定義に基づいてプロキシを自動生成できることは理解していますが、(たとえば) rhino サービスバスで得られる他の機能のいくつかが本当に気に入っています。
理想的には、IoC を使用するだけで (ESB/メッセージング層の有無にかかわらず) さまざまな実装を交換できるようにしたいと考えています (インターフェイスを介して渡すことができるものについて、慣習によって制限が課される必要があることを知っています)。どこに行けばいいのかわからない。現在のインターフェイスのすべてのメソッド呼び出しを独自の個別のメッセージ クラスに変更する必要もありません。
これを行うのに役立つリソース/パターン/ツールはありますか? わからないことがあれば質問してください。ありがとう。