Zarządzanie zasobami przy użyciu grup aplikacji

Usługa Azure Event Hubs umożliwia zarządzanie obciążeniami przesyłania strumieniowego zdarzeń aplikacji klienckich łączących się z usługą Event Hubs. Można tworzyć grupy logiczne nazywane grupami aplikacji, w których każda grupa jest kolekcją aplikacji klienckich, a następnie stosować zasady zarządzania przydziałami i dostępem dla grupy aplikacji (grupy aplikacji klienckich).

Uwaga

Grupy aplikacji są dostępne tylko w warstwach Premium i dedykowanych .

Grupy aplikacji

Grupa aplikacji to kolekcja co najmniej jednej aplikacji klienckiej, która współdziała z płaszczyzną danych usługi Event Hubs. Każda grupa aplikacji może być ograniczona do jednej przestrzeni nazw usługi Event Hubs lub centrów zdarzeń (jednostki) w przestrzeni nazw i powinna używać unikatowo identyfikującego warunku, takiego jak kontekst zabezpieczeń — sygnatury dostępu współdzielonego (SAS) lub identyfikator aplikacji Microsoft Entra — aplikacji klienckiej.

Usługa Event Hubs obecnie obsługuje używanie kontekstów zabezpieczeń do tworzenia grup aplikacji. W związku z tym każda grupa aplikacji musi mieć skojarzone unikatowe zasady sygnatury dostępu współdzielonego lub identyfikator aplikacji Firmy Microsoft Entra. Jeśli jest to preferowane, możesz użyć kontekstu zabezpieczeń na poziomie centrum zdarzeń, aby użyć grupy aplikacji z określonym centrum zdarzeń w przestrzeni nazw.

Grupy aplikacji to jednostki logiczne tworzone na poziomie przestrzeni nazw. W związku z tym aplikacje klienckie wchodzące w interakcje z centrami zdarzeń nie muszą być świadomi istnienia grupy aplikacji. Usługa Event Hubs może skojarzyć dowolną aplikację klienczą z grupą aplikacji przy użyciu warunku identyfikacji.

Jak pokazano poniżej, można tworzyć grupy aplikacji na podstawie kontekstu zabezpieczeń używanego przez każdą aplikację kliencka. W związku z tym grupy aplikacji mogą obejmować wiele aplikacji klienckich przy użyciu tego samego kontekstu zabezpieczeń.

Image showing capturing of Event Hubs data into Azure Storage or Azure Data Lake Storage.

Grupy aplikacji nie mają bezpośredniego skojarzenia z grupą odbiorców. W zależności od identyfikatora grupy aplikacji, takiego jak kontekst zabezpieczeń, jedna grupa odbiorców może mieć skojarzoną z nią co najmniej jedną grupę aplikacji lub grupę aplikacji może obejmować wiele grup odbiorców.

Są to kluczowe atrybuty grupy aplikacji:

Parametr opis
name Unikatowa nazwa grupy aplikacji.
clientAppGroupIdentifier Skojarz grupę aplikacji z unikatowym warunkiem identyfikacji (tj. kontekst zabezpieczeń, taki jak zasady sygnatury dostępu współdzielonego lub identyfikator aplikacji Firmy Microsoft Entra).
policies Lista zasad, takich jak zasady ograniczania przepustowości kontrolujące przesyłanie strumieniowe zdarzeń między aplikacjami klienckimi i przestrzenią nazw usługi Event Hubs
Isenabled Ustal, czy aplikacje klienckie grupy aplikacji mogą uzyskiwać dostęp do przestrzeni nazw usługi Event Hubs, czy nie.

Zasady grupy aplikacji

Każda grupa aplikacji może zawierać zero lub więcej zasad kontrolujących dostęp do płaszczyzny danych aplikacji klienckich należących do grupy aplikacji. Grupy aplikacji obsługują obecnie zasady ograniczania przepustowości.

Zasady ograniczania przepustowości

Można określić zasady ograniczania przepustowości przy użyciu różnych metryk ruchu przychodzącego i wychodzącego. Grupy aplikacji obsługują używanie następujących metryk do ograniczania obciążeń przychodzących lub wychodzących aplikacji klienckich.

Parametr Opis
Bajty przychodzące Przepływność programu Publisher w bajtach na sekundę.
Bajty wychodzące Przepływność odbiorcy w bajtach na sekundę.
IncomingMessages Liczba zdarzeń publikowanych na sekundę.
Wychodzące wiadomości Liczba zdarzeń zużywanych na sekundę.

Po zastosowaniu zasad dla grup aplikacji obciążenie aplikacji klienckiej może spowolnić lub napotkać wyjątki zajęte przez serwer.

Zasady ograniczania przepustowości — limity progowe

W poniższej tabeli przedstawiono minimalne limity progowe, które można ustawić dla różnych identyfikatorów metryk w zasadach ograniczania przepustowości:

Identyfikator metryki Dolny limit
Liczba bajtów przychodzących 1 KB
Wychodzące bajty 1 KB
IncomingMessage 1
Wiadomość wychodząca 1

Uwaga

Limity ustawione dla wartości progowej zasad ograniczania mają pierwszeństwo przed wszelkimi wartościami ustawionymi dla właściwości tematu platformy Kafka. Na przykład IncomingBytes ma wyższy priorytet niż message.max.bytes.
Oczekuje się, że ograniczanie przepustowości grupy aplikacji będzie ograniczać spójnie wyższe niż dozwolone scenariusze ruchu (obejmujące kilka minut). Szybkie wzrosty ruchu przez kilka sekund mogą nie występować w przypadku ograniczania przepustowości za pośrednictwem grup aplikacji. Sprawdzenie dozwolonej przepływności w horyzoncie czasu kilku minut jest zalecane w celu zweryfikowania ograniczania przepustowości.

Obsługa protokołów i kody błędów

Grupa aplikacji obsługuje operacje ograniczania przepustowości wykonywane za pośrednictwem następujących protokołów — AMQP, Kafka i HTTP. Poniższa tabela zawiera oczekiwane kody błędów zwracane przez grupy aplikacji:

Protokół Operacja Kod błędu Komunikat o błędzie
AMQP Wysyłanie 50004 SubCode:50013, grupa aplikacji jest ograniczana z identyfikatorem grupy aplikacji i nazwą zasad
HTTP Wysyłanie 503 Podkodowanie: 50013. Grupa aplikacji jest ograniczana przy użyciu identyfikatora grupy aplikacji i nazwy zasad
Kafka Wysyłanie PolicyViolation Broker: naruszenie zasad

Ze względu na ograniczenia na poziomie protokołu komunikaty o błędach nie są obsługiwane podczas operacji odbierania. Gdy grupy aplikacji są ograniczane w operacjach odbierania, występuje powolne zużycie komunikatów po stronie użytkownika.

Wyłączanie grup aplikacji

Grupa aplikacji jest domyślnie włączona i oznacza to, że wszystkie aplikacje klienckie mogą uzyskiwać dostęp do przestrzeni nazw usługi Event Hubs na potrzeby publikowania i używania zdarzeń przez przestrzeganie zasad grupy aplikacji.

Gdy grupa aplikacji jest wyłączona, klient nadal będzie mógł nawiązać połączenie z centrum zdarzeń, ale autoryzacja zakończy się niepowodzeniem, a następnie połączenie klienta zostanie zamknięte. W związku z tym zobaczysz wiele pomyślnych otwartych i zamkniętych połączeń z taką samą liczbą błędów autoryzacji w dziennikach diagnostycznych.

Następne kroki

Aby uzyskać instrukcje dotyczące tworzenia grup aplikacji i zarządzania nimi, zobacz Zarządzanie zasobami dla aplikacji klienckich przy użyciu witryny Azure Portal