Škálování propustnosti služby Azure Cosmos DB pomocí triggeru časovače Azure Functions

PLATÍ PRO: NoSQL

Výkon účtu služby Azure Cosmos DB vychází z množství zřízené propustnosti vyjádřené v jednotkách žádostí za sekundu (RU/s). Zřizování se provádí ve druhém intervalu a účtuje se na základě nejvyššího počtu RU/s za hodinu. Tento model zřízené kapacity umožňuje službě poskytovat předvídatelnou a konzistentní propustnost, garantovanou nízkou latenci a vysokou dostupnost. Většina produkčních úloh tyto funkce. Ve vývojových a testovacích prostředích, kde se služba Azure Cosmos DB používá jenom během pracovní doby, můžete vertikálně navýšit kapacitu propustnosti ráno a po pracovní době kapacitu zase snížit večer.

Propustnost můžete nastavit prostřednictvím šablon Azure Resource Manager, Azure CLI a PowerShellu, pro účty ROZHRANÍ API pro NoSQL nebo pomocí sad SDK služby Azure Cosmos DB pro konkrétní jazyk. Výhodou použití šablon Resource Manager, Azure CLI nebo PowerShellu je, že podporují všechna rozhraní API modelu služby Azure Cosmos DB.

Ukázkový projekt plánovače propustnosti

Abychom zjednodušili proces škálování služby Azure Cosmos DB podle plánu, vytvořili jsme ukázkový projekt s názvem Plánovač propustnosti služby Azure Cosmos DB. Tento projekt je Azure Functions aplikace se dvěma triggery časovače – ScaleUpTrigger a ScaleDownTrigger. Triggery spustí skript PowerShellu, který nastaví propustnost jednotlivých prostředků tak, jak je definována v souboru v každém triggeru resources.json . ScaleUpTrigger je nakonfigurovaný tak, aby se spustil v 8:00 UTC, a ScaleDownTrigger je nakonfigurovaný tak, aby se spustil v 18:00 UTC. Tyto časy se dají snadno aktualizovat v souboru function.json pro každý trigger.

Tento projekt můžete naklonovat místně, upravit ho tak, aby určil prostředky Služby Azure Cosmos DB pro vertikální navýšení a snížení kapacity a plán spuštění. Později ho můžete nasadit v předplatném Azure a zabezpečit ho pomocí identity spravované služby s oprávněními řízení přístupu na základě role v Azure (Azure RBAC) s rolí Operátor služby Azure Cosmos DB a nastavit propustnost účtů služby Azure Cosmos DB.

Další kroky