Share via


Självstudie: Skala ett program som körs i Service Fabric Mesh

Viktigt

Förhandsversionen av Azure Service Fabric Mesh har dragits tillbaka. Nya distributioner tillåts inte längre via Service Fabric Mesh-API:et. Stödet för befintliga distributioner fortsätter till och med den 28 april 2021.

Mer information finns i Azure Service Fabric Mesh Preview Retirement (Azure Service Fabric Mesh Preview Retirement).

Den här självstudien är del två i en serie. Lär dig hur du manuellt skalar antalet tjänstinstanser för ett program som tidigare har distribuerats till Service Fabric Mesh. När du är klar har du en klienttjänst som kör tre instanser och en datatjänst som kör två instanser.

I del två i serien lär du dig hur du:

  • Konfigurera önskat antal tjänstinstanser
  • Utföra en uppgradering

I den här självstudieserien får du lära du dig att:

Service Fabric Mesh är för närvarande en förhandsversion. Förhandsversioner är tillgängliga för dig under förutsättning att du godkänner de kompletterande användningsvillkoren. Vissa aspekter av funktionen kan ändras innan den är allmänt tillgänglig (GA).

Förutsättningar

Innan du börjar den här självstudien:

Skala in eller ut dina tjänster manuellt

En av de största fördelarna med att distribuera program till Service Fabric Mesh är möjligheten för dig att enkelt skala in eller ut dina tjänster. Detta bör användas för att hantera olika mängder belastning på dina tjänster eller för att förbättra tillgängligheten.

I den här självstudien används exemplet med att göra-listan, som distribuerades tidigare och som nu bör vara igång och köras. Programmet har två tjänster: WebFrontEnd och ToDoService. Varje tjänst distribuerades från början med replikantal 1. Om du vill visa antalet repliker som körs för WebFrontEnd-tjänsten kör du följande:

az mesh service show --resource-group myResourceGroup --name WebFrontEnd --app-name todolistapp --query "replicaCount"

Om du vill visa antalet repliker som körs för ToDoService-tjänsten kör du följande:

az mesh service show --resource-group myResourceGroup --name ToDoService --app-name todolistapp --query "replicaCount"

I distributionsmallen för programresursen har varje tjänst en replicaCount-egenskap som kan användas för att ange hur många gånger du vill att tjänsten distribueras. Ett program kan bestå av flera tjänster, och varje tjänst kan ha ett unikt replicaCount-värde, som distribueras och hanteras tillsammans. Om du vill skala antalet tjänstrepliker ändra du replicaCount-värdet för varje tjänst som du vill skala i distributionsmallen eller parameterfilen. Sedan uppgraderar du programmet.

Ändra parametrarna för distributionsmallen

Om det finns värden i mallen som förväntas ändras när programmet har distribuerats, eller som du vill ha möjlighet att ändra beroende på distribution (om du planerar att återanvända mallen för andra distributioner), bör du parameterisera värdena.

Tidigare distribuerades programmet med hjälp av mesh_rp.windows.json-distributionsmallen och mesh_rp.windows.parameter.json-parameterfilen.

Öppna mesh_rp.windows.parameter.json-parameterfilen lokalt och ange frontEndReplicaCount-värdet till 3 och serviceReplicaCount-värdet till 2:

      "frontEndReplicaCount":{
        "value": "3"
      },
      "serviceReplicaCount":{
        "value": "2"
      }

Spara dina ändringar i parameterfilen. Parametrarna frontEndReplicaCount och serviceReplicaCount deklareras i avsnittet parameters i mesh_rp.windows.json-distributionsmallen:

"frontEndReplicaCount":{
      "defaultValue": "1",
      "type": "string"
    },
    "serviceReplicaCount":{
      "defaultValue": "1",
      "type": "string"
    }

replicaCount-egenskapen för WebFrontEnd-tjänsten refererar till frontEndReplicaCount-parametern och replicaCount-egenskapen för ToDoService-tjänsten refererar till serviceReplicaCount-parametern:

    "services": [
    {
    "name": "WebFrontEnd",
    "properties": {
        "description": "WebFrontEnd description.",
        "osType": "Windows",
        "codePackages": [
        {
            ...
        }
        ],
        "replicaCount": "[parameters('frontEndReplicaCount')]",
        "networkRefs": [
        {
            "name": "[resourceId('Microsoft.ServiceFabricMesh/networks', 'todolistappNetwork')]"
        }
        ]
    }
    },
    {
    "name": "ToDoService",
    "properties": {
        "description": "ToDoService description.",
        "osType": "Windows",
        "codePackages": [
        {
            ...
        }
        ],
        "replicaCount": "[parameters('serviceReplicaCount')]",
        "networkRefs": [
        {
            "name": "[resourceId('Microsoft.ServiceFabricMesh/networks', 'todolistappNetwork')]"
        }
        ]
    }
    }
],

När mallen har ändrats uppgraderar du programmet.

Uppgraderar tillämpningen

När programmet körs kan du uppgradera det genom att omdistribuera mallen och den uppdaterade parameterfilen:

az mesh deployment create --resource-group myResourceGroup --template-file c:\temp\mesh_rp.windows.json --parameters c:\temp\mesh_rp.windows.parameters.json

När du gör det startar en löpande uppgradering av ditt program och du bör se hur tjänstinstanserna ökar inom några minuter. Om du vill visa antalet repliker som körs för WebFrontEnd-tjänsten kör du följande:

az mesh service show --resource-group myResourceGroup --name WebFrontEnd --app-name todolistapp --query "replicaCount"

Om du vill visa antalet repliker som körs för ToDoService-tjänsten kör du följande:

az mesh service show --resource-group myResourceGroup --name ToDoService --app-name todolistapp --query "replicaCount"

Nästa steg

I den här självstudiedelen lärde du dig att:

  • Konfigurera önskat antal tjänstinstanser
  • Utföra en uppgradering

Gå vidare till nästa kurs: