Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Uwaga
Plany Basic, Standardi Enterprise weszły w okres wycofywania 17 marca 2025 r. Aby uzyskać więcej informacji, zobacz ogłoszenie o wycofaniu usługi Azure Spring Apps.
Plan dotyczący zużycia standardowego oraz dedykowany plan zostały wycofane 30 września 2024 r., z całkowitym zamknięciem do końca marca 2025 r. Aby uzyskać więcej informacji, zobacz Migrowanie użycia usługi Azure Spring Apps w warstwie Standardowa i dedykowanego planu do usługi Azure Container Apps.
Ten artykuł dotyczy: ❎ Podstawowa/Standardowa ✅ Enterprise
Ten przewodnik szybkiego startu pokazuje, jak ustawić limity żądań za pomocą Spring Cloud Gateway w planie Azure Spring Apps Enterprise.
Ograniczanie szybkości umożliwia uniknięcie problemów, które pojawiają się wraz ze wzrostem ruchu. Po ustawieniu limitów szybkości żądań aplikacja może odrzucać nadmierne żądania. Ta konfiguracja pomaga zminimalizować błędy ograniczania przepustowości i dokładniej przewidywać przepływność.
Wymagania wstępne
- Konto platformy Azure z aktywną subskrypcją. Utwórz konto bezpłatnie.
- Zapoznaj się z sekcją Wymagania planu Enterprise w witrynie Azure Marketplace i spełnij je.
- Interfejs wiersza polecenia platformy Azure w wersji 2.45.0 lub nowszej.
- Git.
- jq
-
Rozszerzenie planu Usługi Azure Spring Apps Enterprise. Użyj następującego polecenia, aby usunąć poprzednie wersje i zainstalować najnowsze rozszerzenie planu Enterprise. Jeśli wcześniej zainstalowano
spring-cloud
rozszerzenie, odinstaluj je, aby uniknąć niezgodności konfiguracji i wersji.az extension add --upgrade --name spring az extension remove --name spring-cloud
- Wykonaj kroki opisane w temacie Kompilowanie i wdrażanie aplikacji w usłudze Azure Spring Apps przy użyciu planu Enterprise.
Ustawianie limitów szybkości żądań
Usługa Spring Cloud Gateway zawiera filtry tras z wersji open source i kilka innych filtrów tras. Jednym z tych filtrów jest RateLimit: filtr Ograniczanie żądań użytkowników. Filtr RateLimit ogranicza liczbę żądań dozwolonych na trasę w przedziale czasu.
Podczas definiowania trasy można dodać filtr RateLimit, dołączając go do listy filtrów dla trasy. Filtr akceptuje cztery opcje:
- Liczba żądań akceptowanych w oknie.
- Czas trwania okna. Ta wartość jest domyślnie wyrażona w milisekundach, ale można określić sufiks
s
,m
lubh
wskazać, że wartość jest wyrażona w sekundach, minutach lub godzinach. - (Opcjonalnie) Klucz partycji użytkownika. Można również zastosować ograniczanie szybkości na użytkownika. To znaczy, że różni użytkownicy mogą mieć przyznaną własną przepustowość na podstawie identyfikatora znalezionego w żądaniu. Określ, czy klucz znajduje się w oświadczeniu JWT, czy nagłówku HTTP z
claim
lubheader
składnią. - (Opcjonalnie) Limit szybkości można ograniczyć według adresów IP, ale nie w połączeniu z ograniczaniem szybkości na użytkownika.
Poniższy przykład ogranicza wszystkich użytkowników do dwóch żądań co pięć sekund do /products
trasy:
{
"predicates": [
"Path=/products",
"Method=GET"
],
"filters": [
"StripPrefix=0",
"RateLimit=2,5s"
]
}
Jeśli chcesz uwidocznić trasę dla różnych zestawów użytkowników, każdy z nich zidentyfikowany przez własny client_id
nagłówek HTTP, użyj następującej definicji trasy:
{
"predicates": [
"Path=/products",
"Method=GET"
],
"filters": [
"StripPrefix=0",
"RateLimit=2,5s,{header:client_id}"
]
}
Po przekroczeniu limitu odpowiedzi kończą się niepowodzeniem ze stanem 429 Too Many Requests
.
Użyj następującego polecenia, aby zastosować RateLimit
filtr do /products
trasy:
az spring gateway route-config update \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-service-instance-name> \
--name catalog-routes \
--app-name catalog-service \
--routes-file azure-spring-apps-enterprise/resources/json/routes/catalog-service_rate-limit.json
Użyj następujących poleceń, aby pobrać adres URL dla trasy /products
w usłudze Spring Cloud Gateway.
export GATEWAY_URL=$(az spring gateway show \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-service-instance-name> | jq -r '.properties.url')
echo "https://${GATEWAY_URL}/products"
Wykonaj kilka żądań do adresu URL w /products
ciągu pięciu sekund, aby zobaczyć, że żądania kończą się niepowodzeniem ze stanem 429 Too Many Requests
.
Czyszczenie zasobów
Jeśli planujesz kontynuować pracę z kolejnymi przewodnikami szybkiego startu i samouczkami, możesz pozostawić te zasoby bez zmian. Gdy grupa zasobów nie będzie już potrzebna, usuń grupę zasobów, która usuwa zasoby w grupie zasobów. Aby usunąć grupę zasobów przy użyciu interfejsu wiersza polecenia platformy Azure, użyj następujących poleceń:
echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."
Następne kroki
Przejdź do dowolnego z następujących opcjonalnych przewodników Szybki start: