Zarządzanie zasobami dla aplikacji klienckich przy użyciu grup aplikacji
Usługa Azure Event Hubs umożliwia zarządzanie obciążeniami przesyłania strumieniowego zdarzeń dla aplikacji klienckich łączących się z usługą Event Hubs przy użyciu grup aplikacji. Aby uzyskać więcej informacji, zobacz Zarządzanie zasobami przy użyciu grup aplikacji.
W tym artykule opisano, jak wykonać następujące zadania:
- Utwórz grupę aplikacji.
- Włączanie lub wyłączanie grupy aplikacji
- Definiowanie limitów progowych i stosowanie zasad ograniczania przepustowości do grupy aplikacji
- Weryfikowanie ograniczania przepustowości za pomocą dzienników diagnostycznych
Uwaga
Grupy aplikacji są dostępne tylko w warstwach Premium i dedykowanych .
Tworzenie grupy aplikacji
W tej sekcji pokazano, jak utworzyć grupę aplikacji przy użyciu witryny Azure Portal, interfejsu wiersza polecenia, programu PowerShell i szablonu usługi Azure Resource Manager (ARM).
- Witryna Azure Portal
- Interfejs wiersza polecenia platformy Azure
- Azure PowerShell
- Szablon usługi ARM
Grupę aplikacji można utworzyć przy użyciu witryny Azure Portal, wykonując następujące kroki.
Przejdź do przestrzeni nazw usługi Event Hubs.
W menu po lewej stronie wybierz pozycję Grupy aplikacji w obszarze Ustawienia.
Na stronie Grupy aplikacji wybierz pozycję + Grupa aplikacji na pasku poleceń.
Na stronie Dodawanie grupy aplikacji wykonaj następujące kroki:
Określ nazwę grupy aplikacji.
Upewnij się, że wybrano opcję Włączone. Aby najpierw mieć grupę aplikacji w stanie wyłączonym, wyczyść opcję Włączone . Ta flaga określa, czy klienci grupy aplikacji mogą uzyskiwać dostęp do usługi Event Hubs, czy nie.
W polu Typ kontekstu zabezpieczeń wybierz pozycję Zasady dostępu współdzielonego przestrzeni nazw, zasady dostępu współdzielonego centrum zdarzeń lub aplikację Firmy Microsoft Entra. Grupa aplikacji obsługuje wybór klucza sygnatury dostępu współdzielonego na poziomie przestrzeni nazw lub na poziomie jednostki (centrum zdarzeń). Podczas tworzenia grupy aplikacji należy skojarzyć z sygnaturami dostępu współdzielonego (SAS) lub identyfikatorem aplikacji Firmy Microsoft Entra, który jest używany przez aplikacje klienckie.
W przypadku wybrania zasad dostępu współdzielonego przestrzeni nazw:
W polu Nazwa klucza sygnatury dostępu współdzielonego wybierz zasady sygnatury dostępu współdzielonego, które mogą być używane jako kontekst zabezpieczeń dla tej grupy aplikacji. Możesz wybrać pozycję Dodaj zasady sygnatury dostępu współdzielonego, aby dodać nowe zasady, a następnie skojarzyć je z grupą aplikacji.
W przypadku wybrania zasad dostępu współdzielonego usługi Event Hubs:
W polu nazwa klucza sygnatury dostępu współdzielonego skopiuj nazwę zasad sygnatury dostępu współdzielonego ze strony Usługi Event Hubs "Zasady dostępu współdzielonego" i wklej ją w polu tekstowym
W przypadku wybrania aplikacji Microsoft Entra:
- W polu Microsoft Entra Application (client) ID (client) (Identyfikator aplikacji Entra firmy Microsoft) określ identyfikator aplikacji firmy Microsoft lub klienta.
Obsługiwany typ kontekstu zabezpieczeń
Przejrzyj automatycznie wygenerowany identyfikator grupy klienta, który jest unikatowym identyfikatorem skojarzonym z grupą aplikacji. Zakres ładu aplikacji (przestrzeń nazw lub poziom jednostki) zależy od poziomu dostępu dla używanego identyfikatora aplikacji Firmy Microsoft Entra. W poniższej tabeli przedstawiono automatycznie wygenerowany identyfikator grupy klienta dla innego typu kontekstu zabezpieczeń:
Typ kontekstu zabezpieczeń | Automatycznie wygenerowany identyfikator grupy klienta |
---|---|
Klucz dostępu współdzielonego przestrzeni nazw | NamespaceSASKeyName=<NamespaceLevelKeyName> |
Microsoft Entra Application | AADAppID=<AppID> |
Klucz dostępu współdzielonego usługi Event Hubs | EntitySASKeyName=<EntityLevelKeyName> |
Uwaga
Wszystkie istniejące grupy aplikacji utworzone przy użyciu klucza dostępu współdzielonego przestrzeni nazw będą nadal działać z identyfikatorem grupy klienta, zaczynając od SASKeyName
. Jednak wszystkie nowe grupy aplikacji zaktualizowałyby identyfikator grupy klientów, jak pokazano powyżej.
Aby dodać zasady, wykonaj następujące kroki:
Wprowadź nazwę zasad.
W polu Typ wybierz pozycję Zasady ograniczania przepustowości.
W polu Identyfikator metryki wybierz jedną z następujących opcji: Komunikaty przychodzące, Komunikaty wychodzące, Bajty przychodzące, Bajty wychodzące. W poniższym przykładzie wybrano pozycję Komunikaty przychodzące.
W polu Próg limitu szybkości wprowadź wartość progową. W poniższym przykładzie wartość 10000 jest określana jako próg liczby przychodzących komunikatów.
Oto zrzut ekranu strony z dodanymi innymi zasadami.
Teraz na stronie Dodawanie grupy aplikacji wybierz pozycję Dodaj.
Upewnij się, że grupa aplikacji jest widoczna na liście grup aplikacji.
Możesz usunąć grupę aplikacji na liście, wybierając przycisk ikony kosza obok niej na liście.
Włączanie lub wyłączanie grupy aplikacji
Możesz uniemożliwić aplikacjom klienckim uzyskiwanie dostępu do przestrzeni nazw usługi Event Hubs, wyłączając grupę aplikacji zawierającą te aplikacje. Gdy grupa aplikacji jest wyłączona, aplikacje klienckie nie będą mogły publikować ani wykorzystywać danych. Wszystkie ustanowione połączenia z aplikacji klienckich tej grupy aplikacji również zostaną przerwane.
W tej sekcji pokazano, jak włączyć lub wyłączyć grupę aplikacji przy użyciu witryny Azure Portal, programu PowerShell, interfejsu wiersza polecenia i szablonu usługi ARM.
- Witryna Azure Portal
- Interfejs wiersza polecenia platformy Azure
- Azure PowerShell
- Szablon usługi ARM
Na stronie Przestrzeń nazw usługi Event Hubs wybierz pozycję Grupy aplikacji w menu po lewej stronie.
Wybierz grupę aplikacji, którą chcesz włączyć lub wyłączyć.
Na stronie Edytowanie grupy aplikacji wyczyść pole wyboru obok pozycji Włączone, aby wyłączyć grupę aplikacji, a następnie wybierz pozycję Aktualizuj w dolnej części strony. Podobnie zaznacz pole wyboru, aby włączyć grupę aplikacji.
Stosowanie zasad ograniczania przepustowości
Możesz dodać zero lub więcej zasad podczas tworzenia grupy aplikacji lub do istniejącej grupy aplikacji. Na przykład można dodać zasady ograniczania przepustowości związane z IncomingMessages
elementem lub IncomingBytes
OutgoingBytes
do elementu contosoAppGroup
. Te zasady zostaną zastosowane do obciążeń przesyłania strumieniowego zdarzeń aplikacji klienckich korzystających z zasad contososaspolicy
sygnatury dostępu współdzielonego .
Aby dowiedzieć się, jak dodawać zasady podczas tworzenia grupy aplikacji, zobacz sekcję Tworzenie grupy aplikacji.
Możesz również dodać zasady po utworzeniu grupy aplikacji.
- Witryna Azure Portal
- Interfejs wiersza polecenia platformy Azure
- Azure PowerShell
- Szablon usługi ARM
Na stronie Przestrzeń nazw usługi Event Hubs wybierz pozycję Grupy aplikacji w menu po lewej stronie.
Wybierz grupę aplikacji, którą chcesz dodać, zaktualizować lub usunąć zasady.
Na stronie Edytowanie grupy aplikacji możesz wykonać następujące czynności:
- Aktualizowanie ustawień (w tym wartości progowych) dla istniejących zasad
- Dodawanie nowych zasad
Wybieranie wartości progowej dla zasad ograniczania przepustowości
Usługa Azure Event Hubs obsługuje funkcje dzienników metryk aplikacji, aby obserwować zwykłą przepływność w systemie i odpowiednio decydować o wartości progowej dla grupy aplikacji. Możesz wykonać następujące kroki, aby zdecydować się na wartość progową:
Włącz ustawienia diagnostyczne w usłudze Event Hubs z dziennikami metryk aplikacji w wybranej kategorii i wybierz pozycję Log Analytics jako miejsce docelowe.
Utwórz pustą grupę aplikacji bez żadnych zasad ograniczania przepustowości.
Kontynuuj wysyłanie komunikatów/zdarzeń do centrum zdarzeń w zwykłej przepływności.
Przejdź do obszaru roboczego usługi Log Analytics i wykonaj zapytanie dotyczące odpowiedniej nazwy działania (na podstawie tabeli AzureDiagnostics ( resource-governance-overview.md#throttling-policy---threshold-limits )). Następujące przykładowe zapytanie jest ustawione w celu śledzenia wartości progowej dla komunikatów przychodzących:
AzureDiagnostics | where ActivityName_s =="IncomingMessages" | where Outcome_s =="Success"
Wybierz sekcję Wykres w obszarze roboczym usługi Log Analytics i wykreśl wykres między czasem wygenerowanym na osi Y i liczbą komunikatów wysyłanych na osi x.
W tym przykładzie widać, że zwykła przepływność nigdy nie przekroczyła ponad 550 komunikatów (oczekiwana bieżąca przepływność). Ta obserwacja pomaga zdefiniować rzeczywistą wartość progową.
Po podjęciu decyzji o wartości progowej dodaj nowe zasady ograniczania w grupie aplikacji.
Publikowanie lub używanie zdarzeń
Po pomyślnym dodaniu zasad ograniczania przepływności do grupy aplikacji można przetestować zachowanie ograniczania przez publikowanie lub używanie zdarzeń przy użyciu aplikacji klienckich, które są częścią contosoAppGroup
grupy aplikacji. Aby przetestować, możesz użyć klienta AMQP lub aplikacji klienckiej platformy Kafka i tej samej nazwy zasad SAS lub identyfikatora aplikacji Microsoft Entra używanego do tworzenia grupy aplikacji.
Uwaga
Gdy aplikacje klienckie są ograniczane, powinno wystąpić spowolnienie publikowania lub używania danych.
Weryfikowanie ograniczania przepustowości przy użyciu grup aplikacji
Podobnie jak w przypadku określania limitów progowych dla zasad ograniczania przepustowości, możesz użyć dzienników metryk aplikacji, aby zweryfikować ograniczanie przepustowości i znaleźć więcej szczegółów.
Poniższe przykładowe zapytanie umożliwia sprawdzenie wszystkich ograniczonych żądań w określonym przedziale czasu. Należy zaktualizować element ActivityName, aby był zgodny z operacją, która ma zostać ograniczona.
AzureDiagnostics
| where Category =="ApplicationMetricsLogs"
| where ActivityName_s =="IncomingMessages"
| where Outcome_s =="Throttled"
Ze względu na ograniczenia na poziomie protokołu dzienniki żądań ograniczonych nie są generowane dla operacji konsumentów w centrum zdarzeń ( OutgoingMessages
lub OutgoingBytes
). Gdy żądania są ograniczane po stronie konsumenta, obserwujesz powolne przepływność ruchu wychodzącego.
Następne kroki
- Aby uzyskać informacje koncepcyjne dotyczące grup aplikacji, zobacz Zarządzanie zasobami przy użyciu grup aplikacji.
- Zobacz Dokumentacja programu Azure PowerShell dla usługi Event Hubs
- Zobacz Dokumentacja interfejsu wiersza polecenia platformy Azure dla usługi Event Hubs