Service Fabric でのアプリケーションのモデル化Model an application in Service Fabric

ここでは、Azure Service Fabric のアプリケーション モデルの概要と、マニフェスト ファイルを使用してアプリケーションとサービスを定義する方法について説明します。This article provides an overview of the Azure Service Fabric application model and how to define an application and service via manifest files.

アプリケーション モデルを理解するUnderstand the application model

アプリケーションは、特定のまたは複数の関数を実行する構成サービスのコレクションです。An application is a collection of constituent services that perform a certain function or functions. サービスは完全なスタンドアロンの機能を実行し、他のサービスから独立して開始および実行することができます。A service performs a complete and standalone function and can start and run independently of other services. サービスはコード、構成、データから成ります。A service is composed of code, configuration, and data. 各サービスに対して、コードは実行可能ファイルのバイナリで構成され、構成は実行時に読み込まれるサービス設定で構成され、データはサービスが消費する任意の静的データで構成されます。For each service, code consists of the executable binaries, configuration consists of service settings that can be loaded at run time, and data consists of arbitrary static data to be consumed by the service. この階層的なアプリケーション モデル内の各コンポーネントは、個別にバージョン管理されてアップグレードされます。Each component in this hierarchical application model can be versioned and upgraded independently.

Service Fabric のアプリケーション モデル

アプリケーションの種類は、サービスの種類の集まりで構成されているアプリケーションの分類です。An application type is a categorization of an application and consists of a bundle of service types. サービスの種類は、サービスを分類したものです。A service type is a categorization of a service. 分類にはさまざまな設定と構成を含めることができますが、コア機能は変わりません。The categorization can have different settings and configurations, but the core functionality remains the same. サービスのインスタンスは、同じサービスの種類の別のサービス構成のバリエーションです。The instances of a service are the different service configuration variations of the same service type.

アプリケーションのクラス (または "型") およびサービスは XML ファイル (アプリケーション マニフェストおよびサービス マニフェスト) で記述されます。Classes (or "types") of applications and services are described through XML files (application manifests and service manifests). マニフェストは、アプリケーションとサービスが記述されており、アプリケーションをクラスターのイメージ ストアからインスタンス化するテンプレートです。The manifests describe applications and services and are the templates against which applications can be instantiated from the cluster's image store. マニフェストについて詳しくは、アプリケーションとサービスのマニフェストに関するページをご覧ください。Manifests are covered in detail in Application and service manifests. ServiceManifest.xml と ApplicationManifest.xml ファイルのスキーマ定義は、Service Fabric SDK およびツールと共に C:\Program Files\Microsoft SDKs\Service Fabric\schemas\ServiceFabricServiceModel.xsd にインストールされます。The schema definition for the ServiceManifest.xml and ApplicationManifest.xml file is installed with the Service Fabric SDK and tools to C:\Program Files\Microsoft SDKs\Service Fabric\schemas\ServiceFabricServiceModel.xsd. XML スキーマについては、「ServiceFabricServiceModel.xsd スキーマ ドキュメント」をご覧ください。The XML schema is documented in ServiceFabricServiceModel.xsd schema documentation.

別のアプリケーション インスタンスのコードは、同じ Service Fabric ノードでホストされている場合でも個別のプロセスとして実行されます。The code for different application instances run as separate processes even when hosted by the same Service Fabric node. さらに、各アプリケーション インスタンスのライフサイクルを個別に管理 (たとえば、アップグレード) できます。Furthermore, the lifecycle of each application instance can be managed (for example, upgraded) independently. 次の図では、コード、構成、データ パッケージで構成されるサービスの種類で、アプリケーションの種類がどのように構成されるかを示しています。The following diagram shows how application types are composed of service types, which in turn are composed of code, configuration, and data packages. 図を簡単にするために、 ServiceType4 のコード/構成/データ パッケージのみが表示されていますが、各サービス タイプにはそのようなパッケージ タイプの一部または全部が含まれます。To simplify the diagram, only the code/config/data packages for ServiceType4 are shown, though each service type would include some or all those package types.

Service Fabric アプリケーションの種類とサービスの種類

クラスターにはアクティブな 1 つ以上のサービスの種類のインスタンスがある可能性があります。There can be one or more instances of a service type active in the cluster. たとえば、ステートフル サービス インスタンスやレプリカの場合、クラスター内の別のノード上にあるレプリカ間で状態をレプリケートすることで高い信頼性を実現します。For example, stateful service instances, or replicas, achieve high reliability by replicating state between replicas located on different nodes in the cluster. レプリケーションは基本的に、クラスター内の 1 つのノードが失敗した場合でも使用できるように、サービスの冗長性を実現します。Replication essentially provides redundancy for the service to be available even if one node in a cluster fails. パーティション分割されたサービス は、クラスター内のノード間でその状態 (状態へのアクセス パターンも) をさらに分割します。A partitioned service further divides its state (and access patterns to that state) across nodes in the cluster.

次の図は、アプリケーションとサービス インスタンス、パーティション、レプリカ間のリレーションシップを示しています。The following diagram shows the relationship between applications and service instances, partitions, and replicas.

サービス内のパーティションとレプリカ

ヒント

http://<yourclusteraddress>:19080/Explorer で利用できる Service Fabric Explorer ツールを利用し、クラスターのアプリケーションのレイアウトを表示できます。You can view the layout of applications in a cluster using the Service Fabric Explorer tool available at http://<yourclusteraddress>:19080/Explorer. 詳細については、「Service Fabric Explorer を使用したクラスターの視覚化」を参照してください。For more information, see Visualizing your cluster with Service Fabric Explorer.

次のステップNext steps