2017-01-26 4 views
0

サービスファブリッククラスタ内の特定のノードにファブリックアプリケーションをデプロイできる可能性があります。即ち、1つのノードにおいて、1つのアプリケーションのみが展開されるべきである。 InstanceCount = "1"の場合、1つのノードに配置されますが、他のアプリケーションも同じノードに配置できます。5つのアプリケーションがあり、クラスタに5つのノードがある場合、 。 解決策として展開する前に、コード内の任意の場所にNode名を記述できますか?サービスファブリッククラスタ内の特定のノード(Node0またはNode1など)にファブリックアプリケーションをデプロイする方法

+0

アプリケーションを特定のノードに展開する理由を詳しく説明できますか?プレースメントの制約についてはここでいくつかの良い答えがありますが、あなたがしたいことに応じて、より良いオプションがあるかもしれません。 –

答えて

2

アプリケーションは論理的なコンテナ、配備単位です。ノードに結ばれていません。サービス(レプリカとインスタンス)はあります。

一般に、クラスタに5つのアプリケーションを配置すると、クラスタはすべてのノードにサービスを自動的に配布します。

指定されたノードにサービスを配置するために使用できるplacement constraintsという機能があります。

それはそれを必要とする明示的ことなく、サービスの配置を制限することは賢明だ理由:

  • 自動平衡 - サービスファブリックは、必ずリソースの使用が 追加配置制約がバランスをとるためのオプションを制限最適化されています。

  • 複製 - サービスファブリックは、ノード全体でステートフルなサービス/アクターからのデータを複製して、可用性を高め、ノードの障害に対処します。 配置制約を追加すると、複製するオプションが制限されます。

  • 高可用性 - Service Fabricはノードの障害を検出し、正常なノードにサービスを移行できます。配置制約を追加すると、サービスを移動するオプションが制限されます。

+0

ええ、私はそれを持っています。LoekDに感謝します。 – Santanu

1

この質問はここに頼まれた:https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-cluster-resource-manager-cluster-description#placement-constraints-and-node-properties

「あなたは通常、それは、高可用性を防ぐため、単一 ノード上で実行するサービスを制約すべきではない、とあなたが手動 すべきではありません個々のノードを構成する... あなたのアプリケーションタイプをあなたの環境に結合するので(これは のノードの名前が違う環境ではどうなりますか)、さらに複雑なものが追加されますこれの アプリケーションパラメータ)。 "

関連する問題