SOAは、一連の高レベルのソフトウェアアーキテクチャガイドラインです。これは技術的な標準や推奨事項ではなく、負荷分散などの技術的な実装の詳細とは関係ありません。
ロードバランシングは、サービスアクセステクノロジーに依存するアドレス指定に基づいています。「SOA-way」で構築されたシステムは、SOAP(HTTP、JMSなどを介して)、REST、JMSを介した非同期XMLメッセージなどのさまざまなサービスアクセステクノロジーを使用している可能性があります。
SOAPを使用すると、サービスコンシューマーはUDDIレジストリーを検索して、サービスプロバイダーを見つけることができます。最新のUDDIレジストリソフトウェアの中には、単純な(ラウンドロビンなどの)負荷分散を提供するものがあります。もう1つのSOAPのアイデアは、WS-Addressingを使用することですが、実際には負荷分散を目的としたものではありません。
現在、負荷分散に最適な場所は、基盤となるネットワークトランスポート層だと思います。HTTPトランスポートを使用すると、応答時間とタイムアウトに基づいて分散を適応させることができるハードウェアまたはソフトウェア(Apache HTTPDモジュールなど)のロードバランサーを選択できます。JMSトランスポートを使用すると、最も一般的なJMSサーバーが何らかの形の負荷分散を提供します。CORBAやRendezvousなどの他のプロトコルには、通常、カスタムソリューションが必要です。
OracleServiceBusやTIBCOAMXServiceBusなどのESBソフトウェアを利用することもできます。ESBを使用すると、サービスインスタンスの負荷分散プロキシを簡単に作成できます。プロキシは、ガイダンスのためにデータベーステーブルを検索するなど、いくつかのロジックで拡張できます。
ご覧のとおり、サービスの負荷分散に万能のソリューションはありません。最適なソリューションは、実際の実装アーキテクチャとベンダーの推奨事項に基づいています。