2017-06-07 10 views
0

Azureサービス・ファブリックを使用したマイクロ・サービスはほとんど開発されていません。私は、マイクロサービスとリモートサービスhttps://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-reliable-services-communication-remotingについての情報をお伝えする必要があるユースケースをいくつか持っています。 SFアプリケーションで複数のリスナーをサポートできるかどうかを知りたかっただけです。例えば。私は上記のリストに サービス・リモート・サービス用の複数の通信リスナー

以下
protected override IEnumerable<ServiceInstanceListener> CreateServiceInstanceListeners() 
    { 
     return new ServiceInstanceListener[] 
     { 
      new ServiceInstanceListener(serviceContext => new OwinCommunicationListener(Startup.ConfigureApp, serviceContext, ServiceEventSource.Current, "ServiceEndpoint")) 
     }; 
    } 

のようなリスナーを持っている既存のステートレスのWeb API SFアプリケーションを持って、私は他の人のためのマイクロサービスから一部のデータを公開することができるようにServiceRemotingListenerを追加する必要があります。アプローチの可能性や何かが間違っていますか?リバースプロキシベースの通信は行っていますが、パフォーマンスに関する懸念があります(サービス1からサービス2へのリアルタイムの読み取り操作を実行する予定があるため)。

答えて

2

CreateServiceInstanceListenersメソッドでは、リスナーの配列を返します。つまり、複数のリスナーを作成することができます。あなたが他の配列と同じようちょうどそれを追加します。リスナー名は、オプションのパラメータであっても、あなたのリスナーの名前を与えるに持って

protected override IEnumerable<ServiceInstanceListener> CreateServiceInstanceListeners() 
{ 
    return new ServiceInstanceListener[] 
    { 
     new ServiceInstanceListener(serviceContext => this.CreateServiceRemotingListener(serviceContext), "RemotingListener"), 
     new ServiceInstanceListener(serviceContext => new OwinCommunicationListener(Startup.ConfigureApp, serviceContext, ServiceEventSource.Current, "ServiceEndpoint")) 
    }; 
} 

注意。また、もう一方のエンドポイントに接続しようとしているサービスプロキシでいくつか問題が発生しました。これを解決するには、最初にリモートリスナーを宣言し、他のリスナーは第2に宣言します。

関連する問題