0

Azureサービスファブリックの外部で動作するWindowsサービスがあります。 Windowsサービスからステートフルなサービスファブリック(HTTP経由、これは別のネットワーク上にあるため)に、NServicebusを使用して確実にメッセージを確実に送信できるようにする必要があります。私はどこから始めるべきかわかりません。WindowsサービスにNServicebusがインストールされています。ネットワークは非常に信頼性が低いため、耐久性のあるメッセージングが重要です。WindowsサービスからAzureサービスファブリックへNservicebusを使用したステートフルサービス

答えて

1

すでにアズールでサービス・ファブリック・ソリューションをホスティングしている場合、私はあなたがあなたのMicroservicesへのメッセージ(キューまたはトピック)を送信するためにNServiceBusとAzureのサービスバストランスポートを使用することをお勧めします。

メッセージを受信して​​消費するためにMicroservicesに実装する定型コードがいくつかありますが、サービスの起動時(起動時)に依存性注入で管理できます。

+0

私はAzure Service Busをトランスポートとして使用する予定です。私のシナリオでは、データ収集アプリケーションを別のネットワーク上の物理マシンに置いているのに対し、マイクロサービスとレポートアプリケーションはサービスファブリックによって管理されるクラウドに位置しています。ファブリック内のサービスが互いにどのように話し合うのか理解していますが、紺碧の外のサービスはどうですか? – adam3039

+0

データ収集アプリケーションは、何らかの形でマイクロサービスと通信する必要があります。その通信のためにHTTPがASBよりも優れているのはなぜですか? ASBの仲介された性質は、それが異なるネットワーク間でうまく動作することを可能にする。 – janovesk

+0

あなたはブローカーメッセージを受け取るためにこのナゲットパッケージhttps://www.nuget.org/packages/ServiceFabric.ServiceBus.Services/をSFサービス内で使用することができます。 – LoekD

1

セキュリティ/インフラストラクチャ上の理由からHTTP(S)をトンネルしたい場合は、NServiceBusのゲートウェイコンポーネントを調べることをおすすめします。これらのマルチサイトシナリオ用に特別に作られたものです。これは、信頼できないHTTP(S)接続を介して、正確に1つのメッセージ配信を提供します。それをチェックアウト:

  1. https://docs.particular.net/nservicebus/gateway/は、Windows ServerとのボックスにMSMQとNServiceBusエンドポイントを設定します。 MSMQの組み込みストアと転送機能を使用して、そのコンピュータ上でローカルにメッセージを失わないようにします。

  2. Azure Service Fabricで1つ以上のNServiceBusエンドポイントを設定します。 ASBをサービス通信のためのトランスポートとして使用することになります。

  3. NServiceBusゲートウェイを使用して、HTTPチャネルを介して1)と2)を橋渡しします。接続が切断され、重複排除を行いHTTP(単数または複数)を使用してメッセージを1回だけ配信すると、自動再試行が行われます。

関連する問題