November 1, 2016

Service Fabric Local Clusterのリバースプロキシのポートは19081|19083|19085|19087|19089

書きたい内容はたいとるそのまんまです。Service Fabricにはリバースプロキシがあり、アプリケーション名でノードのIPを引けるようになっています。 Local Clusterにおけるリバースプロキシはデフォルト設定(v2.3.301)では19081、19083、19085、19087、もしくは、19089です。 1Nodeで動かしてるなら19801です。

リバースプロキシ

詳しくは→Reverse Proxy

サンプルのWordCountではServiceManifestで起動するポートを指定していますが、Service Fabricを使っているなら、一つのアプリケーションバイナリをデプロイしておいて、テナントごとにアプリケーションを作る、マルチテナント向きな使い方をしたいところです。 それには、ポートが固定されていては困るので、ダイナミックにポートを割り当ててリバースプロキシ経由でアクセスするときれいです。

例えば、下図のようにアプリケーションが展開されているとします。

Applications

リバースプロキシ(http://localhost:19081)にサービスのURIから`fabric:`以下を問い合わせると目当てのサービスに到達できます。

WordCount

うーん。いいですね!(๑╹ڡ╹๑)

19081から変えたい

デフォルト設定から別のポートへ変更したい場合はC:\SfDevCluster\Data\clusterManifest.xmlを編集します。 HttpApplicationGatewayEndpointPort属性を好みに編集しましょう。

<clusterManifest
  ...
  <NodeTypes>
    <NodeType Name="NodeType0">
      <Endpoints>
        ...
        <HttpApplicationGatewayEndpoint Port="19081" Protocol="http" />
        ...
    ...
  ...

本番環境

まず、リバースプロキシを有効にします。 AzureにService Fabric Clusterを作成した場合、19008(もしくは設定したポート)にアクセスすればApplication Gatewayが動いてるノードで引いてくれます。

© iwate 2016