Antywzorzec: używanie identyfikatorów o dużej mocy zbioru w zasadach dotyczących limitów

Wyświetlasz dokumentację Apigee Edge.
Zapoznaj się z dokumentacją Apigee X. info

Zasady dotyczące limitów służą do zliczania liczby żądań otrzymywanych przez serwer proxy interfejsu API. Ta funkcja umożliwia dostawcom interfejsów API egzekwowanie limitów liczby wywołań interfejsu API wykonywanych przez aplikacje w określonym przedziale czasu.

Zasady dotyczące limitów mogą zawierać element identifier, który określa „zasobnik” limitu, w którym jest zliczane każde żądanie.

Antywzorzec

Gdy używasz zasady Quota, nie używaj identyfikatorów o dużej mocy zbioru.

Moc zbioru odnosi się do liczby unikalnych wartości danych w zbiorze. Identyfikator o dużej mocy zbioru ma dużą liczbę różnych możliwych wartości. Identyfikatory o wysokiej kardynalności to m.in. unikalne identyfikatory żądań lub identyfikatory sesji, które zmieniają się przy każdym wywołaniu interfejsu API.

Używanie identyfikatorów o wysokiej kardynalności może znacznie osłabić skuteczność egzekwowania limitu.

Wpływ

Używanie identyfikatorów o wysokiej liczności w elemencie identyfikatora zasad dotyczących limitów powoduje:

  • Nieskuteczne egzekwowanie limitu: każdy unikalny identyfikator jest traktowany jako osobny licznik. Jeśli każde żądanie ma nowy, niepowtarzalny identyfikator, system limitów tworzy zasadniczo nowy „koszyk” dla każdego wywołania interfejsu API. Oznacza to, że ogólny limit przydziału jest mierzony na podstawie pojedynczych liczników jednorazowych, a nie rzeczywistych grup żądań, które chcesz ograniczyć, co sprawia, że zasady są bezużyteczne w przypadku kontroli ruchu.
  • Zwiększone zużycie zasobów: generowanie i zarządzanie ogromną liczbą unikalnych liczników limitów obciąża platformę Apigee, co prowadzi do zwiększonego zużycia zasobów i potencjalnych problemów z wydajnością.
  • Problemy z monitorowaniem: gdy dane są rozproszone na dużą liczbę unikalnych identyfikatorów, monitorowanie i analizowanie rzeczywistych trendów zużycia interfejsu API staje się trudne. Stracisz możliwość sprawdzania, które aplikacje, deweloperzy lub usługi korzystają z zasobów interfejsu API.

Sprawdzona metoda

Wybierz identyfikatory o niskiej lub średniej liczności, które reprezentują stabilne i znaczące grupowanie na potrzeby egzekwowania limitów. Pomagają one skutecznie zarządzać wykorzystaniem interfejsu API i uzyskiwać statystyki dotyczące ruchu. Przykłady:

  • developer.app.name
  • client_id
  • apiproduct.name

Dzięki odpowiednim identyfikatorom zasady dotyczące limitu mogą skuteczniej zarządzać ruchem w interfejsie API, zapobiegać niezamierzonym przekroczeniom limitu i zapewniać przejrzyste statystyki dotyczące wzorców wykorzystania.