Rövid útmutató: Automatikus skálázás beállítása alkalmazásokhoz az Azure Spring Apps Standard használatában és dedikált csomagjában

Feljegyzés

Az Azure Spring Apps az Azure Spring Cloud szolgáltatás új neve. Bár a szolgáltatásnak új neve van, bizonyos helyeken a régi nevet fogja látni egy darabig, miközben az eszközök, például képernyőképek, videók és diagramok frissítésével dolgozunk.

Ez a cikk a következőre vonatkozik: ✔️ Standard felhasználás és dedikált (előzetes verzió) ❌ Basic/Standard ❌ Enterprise

Ez a cikk azt ismerteti, hogyan állíthat be automatikus skálázási szabályokat az alkalmazásokhoz az Azure Spring Apps Standard használatában és dedikált csomagjában. A terv egy Azure Container Apps-környezetet használ a Spring-alkalmazások üzemeltetéséhez, és a következő felügyeletet és támogatást nyújtja:

  • Deklaratív skálázási szabályokon keresztül kezeli az automatikus horizontális skálázást.
  • Támogatja az Azure Container Apps által támogatott összes skálázási szabályt.

További információkért tekintse meg az Azure Container Apps dokumentációját.

Előfeltételek

Méretezési definíció

A skálázást a korlátok és szabályok kombinációja határozza meg.

  • A korlátok a Spring által engedélyezett példányok minimális és maximális száma.

    Méretkorlát Alapértelmezett érték Minimális érték Maximális érték
    Példányok minimális száma üzembe helyezésenként 1 0 30
    Példányok maximális száma üzemelő példányonként 10 1 30

    Alapértelmezés szerint a Spring-alkalmazás minimális példányszáma 1-re van állítva, hogy az üzemelő példány mindig fusson. Ha nullára szeretne skálázni, a minimális példányszámot nullára állíthatja.

  • A szabályok azok a feltételek, amelyeket az automatikus skálázás betart a példányok hozzáadásához vagy eltávolításához. A skálázási szabályok közé tartoznak a HTTP-, TCP- és egyéni szabályok, az Azure Container Apps skálázási szabályainak beállítási szabályai szakaszában leírtak szerint.

    Ha egynél több skálázási szabályt határoz meg, az automatikus skálázás a szabály első feltételének teljesülésekor kezdődik.

  • A lekérdezési időköz és a lehűlési időszak két időtartam, amely az automatikus skálázás során következik be.

    • A lekérdezési időköz határozza meg a szabályok által meghatározott valós idejű adatok lekérdezési műveletei közötti időtartamot. A lekérdezési időköz alapértelmezés szerint 30 másodperc.
    • A lehűlési időszak csak akkor érvényes, ha nullára méretez – például öt percet kell várnia, miután az automatikus skálázás utoljára ellenőrizte az üzenetsort, és üres volt.

Automatikus méretezési beállítások beállítása

Az alkalmazás automatikus méretezési beállításait az Azure Portalon vagy az Azure CLI-vel állíthatja be.

Az automatikus skálázási beállításokat és szabályokat az alábbi lépésekkel határozhatja meg.

  1. Jelentkezzen be az Azure Portalra.
  2. Válassza az Azure Spring Apps lehetőséget az Azure-szolgáltatások alatt.
  3. A Név oszlopban válassza ki az automatikusan skálázni kívánt Azure Spring Apps-példányt.
  4. Az Azure Spring Apps-példány áttekintési lapján válassza az Alkalmazások lehetőséget a navigációs panelen.
  5. Jelölje ki az automatikusan skálázni kívánt alkalmazást.
  6. A kijelölt alkalmazás áttekintési lapján válassza a Felskálázás lehetőséget a navigációs panelen.
  7. A Vertikális felskálázás (előzetes verzió) lapon válassza ki az automatikusan skálázni kívánt üzembe helyezést.
  8. Állítsa be az üzembe helyezés példánykorlátait.
  9. Válassza a Hozzáadás lehetőséget a méretezési szabályok hozzáadásához.

Screenshot of the Azure portal preview version showing the Scale out page for an app in an Azure Spring Apps instance.

Egyéni méretezési szabályok

Az egyéni szabályok meghatározásával kapcsolatos információkért lásd a Keda-skálázókat. Az alábbi szakaszok két példát mutatnak be a Méretezési szabályok beállítására a MySQL-en és a Cronon.

Automatikus skálázási szabályok beállítása a MySQL-adatbázisban

Az alábbi CLI-parancsok bemutatják, hogyan skálázhatja automatikusan a Spring-alkalmazást a Keda MySQL Scaler alapján. Először hozzon létre egy titkos kulcsot az SQL-kapcsolati sztring tárolásához. Ez a titkos kód a skálázási szabály hitelesítéséhez használatos. Ezután állítson be egy szabályt, amely egy tábla sorok száma alapján skálázza az alkalmazást.

az spring app update \
    --resource-group <resource-group-name> \
    --service <Azure-Spring-Apps-service-instance-name> \
    --name <app-name> \
    --secrets mysqlconnectionstring="<username>:<pwd>@tcp(<server name>:3306)/<database name>" 

az spring app scale \
    --resource-group <resource-group-name> \
    --service <Azure-Spring-Apps-service-instance-name> \
    --name <app-name> \
    --scale-rule-type mysql \
    --scale-rule-name <your rule name> \
    --scale-rule-auth "connectionString=mysqlconnectionstring" \
    --scale-rule-metadata queryValue=4 query="SELECT count(*) FROM mytable" \
    --min-replicas 0 \
    --max-replicas 3

Szabály létrehozása Linux cron alapján

Az alábbi parancsok bemutatják, hogyan állíthat be egy szabályt a Keda Cron Scaler alapján. A replikák a cron időintervallumában a kívánt számra vannak skálázva.

az spring app scale \
    --resource-group <resource-group-name> \
    --service <Azure-Spring-Apps-service-instance-name> \
    --name <app-name> \
    --scale-rule-type cron \
    --scale-rule-name testscalerule \
    --scale-rule-metadata timezone="Asia/Shanghai" \
                          start="10 * * * *" \
                          end="15 * * * *" \
                          desiredReplicas="3" \
    --min-replicas 0 \
    --max-replicas 3

Események skálázása

A skálázási eseményeket a mögöttes tárolóalkalmazás rendszernaplóiból találja, és az EventSource-t KEDAa következő példában látható módon szűrheti:

ContainerAppSystemLogs_CL 
| where ContainerAppName_s == 'YourAppName' and EventSource_s == 'KEDA'

Az erőforrások eltávolítása

Mindenképpen törölje a cikkben létrehozott erőforrásokat, ha már nincs rájuk szüksége. Az erőforrások törléséhez egyszerűen törölje az őket tartalmazó erőforráscsoportot. Az erőforráscsoportot az Azure Portalon törölheti. Másik megoldásként az alábbi parancsokkal törölheti az erőforráscsoportot az Azure CLI használatával:

echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."

Következő lépések