Service Fabric 服务模型 XML 架构元素

PartitionDescriptionGroup 组

定义服务的分区方案。

Attribute Value
content 3 个元素

XML 源

<xs:group xmlns:xs="https://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/2011/01/fabric" name="PartitionDescriptionGroup">
        <xs:annotation>
            <xs:documentation>Defines the partitioning scheme for a service.</xs:documentation>
        </xs:annotation>
        <xs:choice>
            <xs:element name="SingletonPartition">
                <xs:annotation>
                    <xs:documentation>Declares that this service has only one partition.</xs:documentation>
                </xs:annotation>
                <xs:complexType/>
            </xs:element>
            <xs:element name="UniformInt64Partition">
                <xs:annotation>
                    <xs:documentation>Describes a uniform partitioning scheme based on Int64 keys.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:attribute name="PartitionCount" type="xs:string" use="required">
                        <xs:annotation>
                            <xs:documentation>Total number of partitions (positive integer). Each partition is responsible for a non-overlapping subrange of the overall partition key range.</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="LowKey" type="xs:string" use="required">
                        <xs:annotation>
                            <xs:documentation>Inclusive low range of the partition key (long).</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="HighKey" type="xs:string" use="required">
                        <xs:annotation>
                            <xs:documentation>Inclusive high range of the partition key (long).</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                </xs:complexType>
            </xs:element>
            <xs:element name="NamedPartition">
                <xs:annotation>
                    <xs:documentation>Describes a named partitioning scheme based on names for each partition.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence maxOccurs="unbounded">
                        <xs:element name="Partition">
                            <xs:annotation>
                                <xs:documentation>Describes a partition by name.</xs:documentation>
                            </xs:annotation>
                            <xs:complexType>
                                <xs:attribute name="Name" use="required">
                                    <xs:annotation>
                                        <xs:documentation>The name of the partition</xs:documentation>
                                    </xs:annotation>
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:minLength value="1"/>
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:attribute>
                            </xs:complexType>
                        </xs:element>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xs:choice>
    </xs:group>

Content 元素详细信息

SingletonPartition

声明此服务仅包含一个分区。

Attribute
name SingletonPartition
XML 源
<xs:element xmlns:xs="https://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/2011/01/fabric" name="SingletonPartition">
                <xs:annotation>
                    <xs:documentation>Declares that this service has only one partition.</xs:documentation>
                </xs:annotation>
                <xs:complexType/>
            </xs:element>

UniformInt64Partition

描述基于 Int64 键的统一分区方案。

Attribute
name UniformInt64Partition
XML 源
<xs:element xmlns:xs="https://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/2011/01/fabric" name="UniformInt64Partition">
                <xs:annotation>
                    <xs:documentation>Describes a uniform partitioning scheme based on Int64 keys.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:attribute name="PartitionCount" type="xs:string" use="required">
                        <xs:annotation>
                            <xs:documentation>Total number of partitions (positive integer). Each partition is responsible for a non-overlapping subrange of the overall partition key range.</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="LowKey" type="xs:string" use="required">
                        <xs:annotation>
                            <xs:documentation>Inclusive low range of the partition key (long).</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="HighKey" type="xs:string" use="required">
                        <xs:annotation>
                            <xs:documentation>Inclusive high range of the partition key (long).</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                </xs:complexType>
            </xs:element>

NamedPartition

描述基于每个分区的名称的命名分区方案。

属性
name NamedPartition
XML 源
<xs:element xmlns:xs="https://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/2011/01/fabric" name="NamedPartition">
                <xs:annotation>
                    <xs:documentation>Describes a named partitioning scheme based on names for each partition.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence maxOccurs="unbounded">
                        <xs:element name="Partition">
                            <xs:annotation>
                                <xs:documentation>Describes a partition by name.</xs:documentation>
                            </xs:annotation>
                            <xs:complexType>
                                <xs:attribute name="Name" use="required">
                                    <xs:annotation>
                                        <xs:documentation>The name of the partition</xs:documentation>
                                    </xs:annotation>
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:minLength value="1"/>
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:attribute>
                            </xs:complexType>
                        </xs:element>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>

ScalingPolicyMechanismGroup 组

定义缩放机制。

Attribute Value
content 2 个元素

XML 源

<xs:group xmlns:xs="https://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/2011/01/fabric" name="ScalingPolicyMechanismGroup">
        <xs:annotation>
            <xs:documentation>Defines the scaling mechanism.</xs:documentation>
        </xs:annotation>
        <xs:choice>
            <xs:element name="InstanceCountScalingMechanism" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Defines a mechanism for increasing the instance count of a partition. This is for stateless services only.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:attribute name="MinInstanceCount" type="xs:string" use="required">
                        <xs:annotation>
                            <xs:documentation>The minimum number of instances.</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="MaxInstanceCount" type="xs:string" use="required">
                        <xs:annotation>
                            <xs:documentation>The maximum number of instances..</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="ScaleIncrement" type="xs:string" use="required">
                        <xs:annotation>
                            <xs:documentation>The number of instances by which to perform the upshift/downshift.</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                </xs:complexType>
            </xs:element>
            <xs:element name="AddRemoveIncrementalNamedPartitionScalingMechanism" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Defines a mechanism for adding or removing named partitions.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:attribute name="MinPartitionCount" type="xs:string" use="required">
                        <xs:annotation>
                            <xs:documentation>The minimum number of partitions.</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="MaxPartitionCount" type="xs:string" use="required">
                        <xs:annotation>
                            <xs:documentation>The maximum number of partitions.</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="ScaleIncrement" type="xs:string" use="required">
                        <xs:annotation>
                            <xs:documentation>The number of partitions by which to perform the upshift/downshift.</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                </xs:complexType>
            </xs:element>
        </xs:choice>
    </xs:group>

Content 元素详细信息

InstanceCountScalingMechanism

定义用于增加分区实例数的机制。 此属性仅适用于无状态服务。

属性
name InstanceCountScalingMechanism
minOccurs 0
maxOccurs 1
XML 源
<xs:element xmlns:xs="https://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/2011/01/fabric" name="InstanceCountScalingMechanism" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Defines a mechanism for increasing the instance count of a partition. This is for stateless services only.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:attribute name="MinInstanceCount" type="xs:string" use="required">
                        <xs:annotation>
                            <xs:documentation>The minimum number of instances.</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="MaxInstanceCount" type="xs:string" use="required">
                        <xs:annotation>
                            <xs:documentation>The maximum number of instances..</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="ScaleIncrement" type="xs:string" use="required">
                        <xs:annotation>
                            <xs:documentation>The number of instances by which to perform the upshift/downshift.</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                </xs:complexType>
            </xs:element>

AddRemoveIncrementalNamedPartitionScalingMechanism

定义用于添加或删除已命名分区的机制。

属性
name AddRemoveIncrementalNamedPartitionScalingMechanism
minOccurs 0
maxOccurs 1
XML 源
<xs:element xmlns:xs="https://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/2011/01/fabric" name="AddRemoveIncrementalNamedPartitionScalingMechanism" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Defines a mechanism for adding or removing named partitions.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:attribute name="MinPartitionCount" type="xs:string" use="required">
                        <xs:annotation>
                            <xs:documentation>The minimum number of partitions.</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="MaxPartitionCount" type="xs:string" use="required">
                        <xs:annotation>
                            <xs:documentation>The maximum number of partitions.</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="ScaleIncrement" type="xs:string" use="required">
                        <xs:annotation>
                            <xs:documentation>The number of partitions by which to perform the upshift/downshift.</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                </xs:complexType>
            </xs:element>

ScalingPolicyTriggerGroup 组

定义缩放触发器。

Attribute Value
content 2 个元素

XML 源

<xs:group xmlns:xs="https://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/2011/01/fabric" name="ScalingPolicyTriggerGroup">
        <xs:annotation>
            <xs:documentation>Defines the scaling trigger.</xs:documentation>
        </xs:annotation>
        <xs:choice>
            <xs:element name="AveragePartitionLoadScalingTrigger" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Defines a scaling mechanism based on the average load of replicas of a partition.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:attribute name="MetricName" type="xs:string" use="required">
                        <xs:annotation>
                            <xs:documentation>The name of metric which should be used for scaling operations.</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="LowerLoadThreshold" type="xs:string" use="required">
                        <xs:annotation>
                            <xs:documentation>The lower limit of the load value of a metric.</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="UpperLoadThreshold" type="xs:string" use="required">
                        <xs:annotation>
                            <xs:documentation>The upper limit of the load value of a metric.</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="ScaleIntervalInSeconds" type="xs:string" use="required">
                        <xs:annotation>
                            <xs:documentation>The time interval in seconds to be considered for scaling.</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                </xs:complexType>
            </xs:element>
            <xs:element name="AverageServiceLoadScalingTrigger" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Defines a scaling mechanism based on the average load of partitions of a service.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:attribute name="MetricName" type="xs:string" use="required">
                        <xs:annotation>
                            <xs:documentation>The name of metric which should be used for scaling operations.</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="LowerLoadThreshold" type="xs:string" use="required">
                        <xs:annotation>
                            <xs:documentation>The lower limit of the load value of a metric.</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="UpperLoadThreshold" type="xs:string" use="required">
                        <xs:annotation>
                            <xs:documentation>The upper limit of the load value of a metric.</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="ScaleIntervalInSeconds" type="xs:string" use="required">
                        <xs:annotation>
                            <xs:documentation>The time interval in seconds to be considered for scaling.</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="UseOnlyPrimaryLoad" type="xs:string" use="optional">
                        <xs:annotation>
                            <xs:documentation>Use load of primary replica as average load of partition.</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                </xs:complexType>
            </xs:element>
        </xs:choice>
    </xs:group>

Content 元素详细信息

AveragePartitionLoadScalingTrigger

定义基于分区副本平均负载的缩放机制。

属性
name AveragePartitionLoadScalingTrigger
minOccurs 0
maxOccurs 1
XML 源
<xs:element xmlns:xs="https://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/2011/01/fabric" name="AveragePartitionLoadScalingTrigger" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Defines a scaling mechanism based on the average load of replicas of a partition.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:attribute name="MetricName" type="xs:string" use="required">
                        <xs:annotation>
                            <xs:documentation>The name of metric which should be used for scaling operations.</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="LowerLoadThreshold" type="xs:string" use="required">
                        <xs:annotation>
                            <xs:documentation>The lower limit of the load value of a metric.</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="UpperLoadThreshold" type="xs:string" use="required">
                        <xs:annotation>
                            <xs:documentation>The upper limit of the load value of a metric.</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="ScaleIntervalInSeconds" type="xs:string" use="required">
                        <xs:annotation>
                            <xs:documentation>The time interval in seconds to be considered for scaling.</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                </xs:complexType>
            </xs:element>

AverageServiceLoadScalingTrigger

定义基于服务分区平均负载的缩放机制。

属性
name AverageServiceLoadScalingTrigger
minOccurs 0
maxOccurs 1
XML 源
<xs:element xmlns:xs="https://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/2011/01/fabric" name="AverageServiceLoadScalingTrigger" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Defines a scaling mechanism based on the average load of partitions of a service.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:attribute name="MetricName" type="xs:string" use="required">
                        <xs:annotation>
                            <xs:documentation>The name of metric which should be used for scaling operations.</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="LowerLoadThreshold" type="xs:string" use="required">
                        <xs:annotation>
                            <xs:documentation>The lower limit of the load value of a metric.</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="UpperLoadThreshold" type="xs:string" use="required">
                        <xs:annotation>
                            <xs:documentation>The upper limit of the load value of a metric.</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="ScaleIntervalInSeconds" type="xs:string" use="required">
                        <xs:annotation>
                            <xs:documentation>The time interval in seconds to be considered for scaling.</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="UseOnlyPrimaryLoad" type="xs:string" use="optional">
                        <xs:annotation>
                            <xs:documentation>Use load of primary replica as average load of partition.</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                </xs:complexType>
            </xs:element>