Memorarea în cache și cotele de utilizare

Azure API Management

Fiodar Sazanavets

Senior Software Engineer at Microsoft

Configurarea memorării în cache a răspunsurilor

  • Când răspunsurile sunt în cache, nu mai este necesar accesul la backend
  • Memorarea în cache se aplică endpoint-urilor populare care returnează frecvent aceleași date
  • Tranzacțiile dus-întors la endpoint-uri sunt lente și costisitoare
  • Poate fi implementată în APIM prin politici de caching

Memorare în cache a răspunsurilor

Azure API Management

Configurarea politicilor de caching

  • Configurarea politicilor de caching poate:
    • Specifica durata cache-ului
    • Varia după șirul de interogare sau anteturi
    • Seta locația cache-ului
  • Locația cache-ului poate fi:
    • Edge, adică gateway-ul API
    • Serviciu extern de caching, ex.: Redis

Politici de caching

Azure API Management

Protecție împotriva supraîncărcării cu cereri

Limitarea ratei

  • Chiar și cu caching, prea mulți clienți pot supraîncărca API-urile
    • Determină scăderea performanței
    • Crește costurile resurselor
    • În cel mai rău caz: întreruperea sistemului (ex.: atac DDoS)
Azure API Management

Cum protejează cotele de utilizare API-urile

  • Restricționați numărul de apeluri într-o perioadă
    • Protejează împotriva creșterilor bruște de cereri
  • Poate proteja împotriva atacurilor DDoS
  • Poate reduce costurile prin prevenirea suprautilizării

Azure API Management

Măsurarea utilizării resurselor

Application Insights

  • Nu puteți îmbunătăți ceea ce nu măsurați

    • Activați Application Insights pentru a urmări metrici (ex.: latență, valori aberante)
  • Exemplu: apelul „GET Products"

    • Rată scăzută de cache hit, dar trafic ridicat
    • Soluție: creșteți durata cache-ului (5 -> 30 minute)
  • Cu date de monitorizare, puteți ajusta:

    • Duratele de cache
    • Pragurile cotelor
    • Nivelurile de servicii pentru raportul optim cost-performanță
Azure API Management

Să exersăm!

Azure API Management

Preparing Video For Download...