Skapa principer för autoskalning för ett Service Fabric nätprogramCreate autoscale policies for a Service Fabric Mesh application

Viktigt

Förhands granskningen av Azure Service Fabric-nätet har dragits tillbaka.The preview of Azure Service Fabric Mesh has been retired. Nya distributioner kommer inte längre att tillåtas via Service Fabric nät-API.New deployments will no longer be permitted through the Service Fabric Mesh API. Stöd för befintliga distributioner fortsätter till 28 april 2021.Support for existing deployments will continue through April 28, 2021.

Mer information finns i förhands granskning av Azure Service Fabric nät.For details, see Azure Service Fabric Mesh Preview Retirement.

En av de största fördelarna med att distribuera program till Service Fabric nät är möjligheten att enkelt skala dina tjänster i eller ut. Detta bör användas för att hantera olika belastnings mängder på dina tjänster eller förbättra tillgängligheten.One of the main advantages of deploying applications to Service Fabric Mesh is the ability for you to easily scale your services in or out. This should be used for handling varying amounts of load on your services, or improving availability. Du kan skala dina tjänster manuellt i eller ut eller konfigurera principer för automatisk skalning.You can manually scale your services in or out or set up autoscaling policies.

Med automatisk skalning kan du skala upp antalet tjänst instanser dynamiskt (vågrät skalning).Auto scaling allows you to dynamically scale the number of your service instances (horizontal scaling). Automatisk skalning ger bra elastiskhet och möjliggör etablering eller borttagning av tjänst instanser baserat på processor-eller minnes användning.Auto scaling gives great elasticity and enables provisioning or removal of service instances based on CPU or memory utilization.

Alternativ för att skapa en princip för automatisk skalning, utlösare och mekanismOptions for creating an auto scaling policy, trigger, and mechanism

En princip för automatisk skalning definieras för varje tjänst som du vill skala.An auto scaling policy is defined for each service you want to scale. Principen definieras i antingen YAML-tjänstens resurs fil eller i mallen för JSON-distribution.The policy is defined in either the YAML service resource file or the JSON deployment template. Varje skalnings princip består av två delar: en utlösare och en skalnings funktion.Each scaling policy consists of two parts: a trigger and a scaling mechanism.

Utlösaren definierar när en princip för automatisk skalning anropas.The trigger defines when an autoscaling policy is invoked. Ange typen av utlösare (genomsnittlig inläsning) och måttet som ska övervakas (CPU eller minne).Specify the kind of trigger (average load) and the metric to monitor (CPU or memory). De övre och nedre tröskelvärdena för inläsning anges i procent.Upper and lower load thresholds specified as a percentage. Skalnings intervallet definierar hur ofta den angivna användningen (i sekunder) ska kontrol leras (till exempel Genomsnittlig CPU-belastning) över alla aktuella distribuerade tjänst instanser.The scale interval defines how often to check (in seconds) the specified utilization (such as average CPU load) across all the currently deployed service instances. Mekanismen utlöses när det övervakade måttet sjunker under den nedre tröskeln eller ökar över det övre tröskelvärdet.The mechanism is triggered when the monitored metric drops below the lower threshold or increases above the upper threshold.

Skalnings mekanismen definierar hur du utför skalnings åtgärden när principen utlöses.The scaling mechanism defines how to perform the scaling operation when the policy is triggered. Ange typen av mekanism (Lägg till/ta bort replik), antalet lägsta och högsta antal repliker (som heltal).Specify the kind of mechanism (add/remove replica), the minimum and maximum replica counts (as integers). Antalet tjänst repliker skalas aldrig under det lägsta antalet eller över det högsta antalet.The number of service replicas will never be scaled below the minimum count or above the maximum count. Ange också skalnings ökningen som ett heltal, vilket är antalet repliker som ska läggas till eller tas bort i en skalnings åtgärd.Also specify the scale increment as an integer, which is the number of replicas that will be added or removed in a scaling operation.

Definiera en princip för automatisk skalning i en JSON-mallDefine an auto scaling policy in a JSON template

I följande exempel visas en princip för automatisk skalning i en mall för JSON-distribution.The following example shows an autoscaling policy in a JSON deployment template. Principen för automatisk skalning deklareras i en egenskap för tjänsten som ska skalas.The autoscaling policy is declared in a property of the service to be scaled. I det här exemplet definieras en PROCESSORs genomsnittliga belastnings utlösare.In this example, a CPU average load trigger is defined. Mekanismen aktive ras om den genomsnittliga CPU-belastningen för alla distribuerade instanser sjunker under 0,2 (20%) eller hamnar ovanför 0,8 (80%).The mechanism will be triggered if the average CPU load of all the deployed instances drops below 0.2 (20%) or goes above 0.8 (80%). CPU-belastningen kontrol leras var 60 sekund.The CPU load is checked every 60 seconds. Skalnings mekanismen definieras för att lägga till eller ta bort instanser om principen utlöses.The scaling mechanism is defined to add or remove instances if the policy is triggered. Tjänst instanser läggs till eller tas bort i steg om en.Service instances will be added or removed in increments of one. Ett minsta antal instanser av ett och maximalt antal instanser av 40 har också definierats.A minimum instance count of one and a maximum instance count of 40 is also defined.

{
"apiVersion": "2018-09-01-preview",
"name": "WorkerApp",
"type": "Microsoft.ServiceFabricMesh/applications",
"location": "[parameters('location')]",
"dependsOn": [
"Microsoft.ServiceFabricMesh/networks/worker-app-network"
],
"properties": {
"services": [   
    { ... },       
    {
    "name": "WorkerService",
    "properties": {
        "description": "Worker Service",
        "osType": "linux",
        "codePackages": [
        {  ...              }
        ],
        "replicaCount": 1,
        "autoScalingPolicies": [
        {
            "name": "AutoScaleWorkerRule",
            "trigger": {
                "kind": "AverageLoad",
                "metric": {
                    "kind": "Resource",
                    "name": "cpu"
                },
                "lowerLoadThreshold": "0.2",
                "upperLoadThreshold": "0.8",
                "scaleIntervalInSeconds": "60"
            },
            "mechanism": {
                "kind": "AddRemoveReplica",
                "minCount": "1",
                "maxCount": "40",
                "scaleIncrement": "1"
            }
        }
        ],        
        ...
    }
    }
]
}
}

Definiera en princip för autoskalning i en tjänst. yaml-resurs filDefine an autoscale policy in a service.yaml resource file

I följande exempel visas en princip för automatisk skalning i en tjänst resurs fil (YAML).The following example shows an autoscaling policy in a service resource (YAML) file. Principen för automatisk skalning deklareras som en egenskap för tjänsten som ska skalas.The autoscaling policy is declared as a property of the service to be scaled. I det här exemplet definieras en PROCESSORs genomsnittliga belastnings utlösare.In this example, a CPU average load trigger is defined. Mekanismen aktive ras om den genomsnittliga CPU-belastningen för alla distribuerade instanser sjunker under 0,2 (20%) eller hamnar ovanför 0,8 (80%).The mechanism will be triggered if the average CPU load of all the deployed instances drops below 0.2 (20%) or goes above 0.8 (80%). CPU-belastningen kontrol leras var 60 sekund.The CPU load is checked every 60 seconds. Skalnings mekanismen definieras för att lägga till eller ta bort instanser om principen utlöses.The scaling mechanism is defined to add or remove instances if the policy is triggered. Tjänst instanser läggs till eller tas bort i steg om en.Service instances will be added or removed in increments of one. Ett minsta antal instanser av ett och maximalt antal instanser av 40 har också definierats.A minimum instance count of one and a maximum instance count of 40 is also defined.

## Service definition ##
application:
  schemaVersion: 1.0.0-preview2
  name: WorkerApp
  properties:
    services:
      - name: WorkerService
        properties:
          description: WorkerService description.
          osType: Linux
          codePackages:
            ...
          replicaCount: 1
          autoScalingPolicies:
            - name: AutoScaleWorkerRule
              trigger:
                kind: AverageLoad
                metric:
                  kind: Resource
                  name: cpu
                lowerLoadThreshold: 0.2
                upperLoadThreshold: 0.8
                scaleIntervalInSeconds: 60
              mechanism:
                kind: AddRemoveReplica
                minCount: 1
                maxCount: 40
                scaleIncrement: 1
          ...

Nästa stegNext steps

Lär dig hur du skalar en tjänst manuelltLearn how to manually scale a service