私が通常お勧めする代替手段は、メッセージブローカー間のAMQPを介した統合です。つまり、ポーリングパラダイムの代わりにプッシュパラダイムを使用できます(これは、比較すると非常に強力でスケーラブルです)。
RabbitMQなどの独自のブローカーをローカルにセットアップします。次に、統合パートナーに設定させます。(簡単:ダウンロードするだけです)。
パートナーが同じデータセンターから統合している場合は、ネットワークの分割をほとんど想定しないでください。つまり、ブローカーを共有できます。一方、異なるネットワークを使用している場合は、ブローカーをフェデレーションモードで設定できます。(実行して他のブローカーrabbitmq-plugins enable rabbitmq_federation
をポイントします)
これで、たとえばMassTransitを使用できます。
ServiceBusFactory.New(sbc =>
{
sbc.UseRabbitMqRouting();
sbc.ReceiveFrom("rabbitmq://rabbitmq.mydomain.local/myvhost/myapplication");
// sbc.Subscribe( s => s ... );
});
、統合を行わない場合と同じように。
http://rabbitmq.mydomain.local:55672/を見ると、RabbitMQの管理インターフェイスが見つかります。MassTransitは、メッセージタイプごとに交換を作成し(その交換にそのようなメッセージを送信すると、すべてのサブスクライバーにファンアウトされます)、承認ルールを設定できます。
承認ルールは、ユーザーごとの正規表現の形式にすることも、LDAPに統合することもできます。これについては、ドキュメントを参照してください。
WANを経由していて、IPSecトンネルがない場合にもSSLが必要になります。そのドキュメントはhttp://www.rabbitmq.com/ssl.htmlにあり、次のように有効にします。これ。
それでおしまい!楽しみ!
ポストスクリプト:副作用としてすべてのインフラストラクチャを管理するのに役立つ冒険を感じている場合は、puppetを見ることができます。Puppetは、サーバーのプロビジョナーおよび構成マネージャーです。この場合、puppetを使用してSSLを設定することに関心があります。まず、ドメインのワイルドカードサブドメイン証明書を注文し、その証明書を使用して他の証明書に署名します。これを委任できます。「これで、テスト認証局が使用するキーと証明書を生成できます。 。」-新しい権限を作成する代わりに、証明書の証明書署名要求を生成します-そしてRMQにこれをSSLに使用させます-インターネットで有効になります。