書きたい内容はたいとるそのまんまです。Service Fabricにはリバースプロキシがあり、アプリケーション名でノードのIPを引けるようになっています。 Local Clusterにおけるリバースプロキシはデフォルト設定(v2.3.301)では19081、19083、19085、19087、もしくは、19089です。 1Nodeで動かしてるなら19801です。
リバースプロキシ
詳しくは→Reverse Proxy
サンプルのWordCountではServiceManifestで起動するポートを指定していますが、Service Fabricを使っているなら、一つのアプリケーションバイナリをデプロイしておいて、テナントごとにアプリケーションを作る、マルチテナント向きな使い方をしたいところです。 それには、ポートが固定されていては困るので、ダイナミックにポートを割り当ててリバースプロキシ経由でアクセスするときれいです。
例えば、下図のようにアプリケーションが展開されているとします。
リバースプロキシ(http://localhost:19081)にサービスのURIから`fabric:`以下を問い合わせると目当てのサービスに到達できます。
うーん。いいですね!(๑╹ڡ╹๑)
19081から変えたい
デフォルト設定から別のポートへ変更したい場合はC:\SfDevCluster\Data\clusterManifest.xml
を編集します。
HttpApplicationGatewayEndpoint
のPort属性
を好みに編集しましょう。
<clusterManifest
...
<NodeTypes>
<NodeType Name="NodeType0">
<Endpoints>
...
<HttpApplicationGatewayEndpoint Port="19081" Protocol="http" />
...
...
...
本番環境
まず、リバースプロキシを有効にします。 AzureにService Fabric Clusterを作成した場合、19008(もしくは設定したポート)にアクセスすればApplication Gatewayが動いてるノードで引いてくれます。