Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Azure Stream Analytics to wysoce odporna usługa, która przetwarza i analizuje dane przesyłane strumieniowo z wielu źródeł jednocześnie. Usługa Stream Analytics udostępnia informacje, których można użyć do tworzenia złożonych potoków przetwarzania zdarzeń przy użyciu zapytań przypominających język SQL.
W przypadku korzystania z platformy Azure niezawodność jest wspólną odpowiedzialnością. Firma Microsoft oferuje szereg możliwości wspierania odporności systemów i odzyskiwania. Odpowiadasz za zrozumienie, jak te możliwości działają w ramach wszystkich używanych usług oraz za wybór tych, które są potrzebne do osiągnięcia Twoich celów biznesowych i celów dotyczących niezawodności.
W tym artykule opisano, jak usługa Stream Analytics jest odporna na potencjalne problemy, takie jak przejściowe błędy i awarie strefy dostępności. Zawiera wskazówki dotyczące ochrony zadań o krytycznym znaczeniu przed awariami regionów i konserwacją usługi. Wyróżnia również kluczowe informacje o umowie dotyczącej poziomu usług (SLA) usługi Stream Analytics.
Ważne
Poprawa odporności samej usługi Stream Analytics może mieć ograniczony wpływ, jeśli inne składniki nie są równie odporne. Rozważ niezawodność źródeł danych, w tym dane wejściowe i wyjściowe. W zależności od wymagań dotyczących odporności może być konieczne wprowadzenie zmian konfiguracji w wielu obszarach.
Zalecenia dotyczące wdrażania produkcyjnego
Aby zapewnić wysoką niezawodność w środowiskach produkcyjnych korzystających z usługi Stream Analytics, zalecamy wykonanie następujących czynności:
- Użyj regionów obsługujących strefy dostępności. Wdrażaj swoje zadania przesyłania strumieniowego oraz inne zasoby w regionach, które obsługują strefy dostępności.
- Wdróż wystarczającą przepustowość. Ustaw jednostki przesyłania strumieniowego (SU) na podstawie oczekiwanej przepływności i dodatkowej pojemności do obsługi szczytowych obciążeń. Dodaj bufor powyżej wymagań punktu odniesienia, aby obsłużyć nagłe wzrosty.
- Monitorowanie kondycji. Zaimplementuj kompleksowe monitorowanie przy użyciu metryk usługi Azure Monitor i dzienników diagnostycznych w celu śledzenia kondycji zadania, zdarzeń wejściowych i wyjściowych oraz wykorzystania zasobów. Skonfiguruj alerty dotyczące krytycznych metryk, takich jak opóźnienie znaku wodnego i błędy w czasie wykonywania, aby wykrywać problemy przed ich wpływem na przetwarzanie danych. Aby uzyskać więcej informacji, zobacz Monitorowanie usługi Stream Analytics.
- Zaimplementuj nadmiarowość w wielu regionach dla obciążeń o znaczeniu krytycznym. Wdrażanie identycznych zadań usługi Stream Analytics w wielu regionach. Zreplikuj konfiguracje i zapewnij odpowiedni routing danych, aby osiągnąć odporność regionalną. Usługa Stream Analytics nie zapewnia natywnej replikacji w wielu regionach, ale to podejście umożliwia przełączenie awaryjne i zapewnia ciągłość działania. Aby uzyskać więcej informacji, zobacz Niestandardowe wieloregionowe rozwiązania dla odporności.
Omówienie architektury niezawodności
W tej sekcji opisano niektóre ważne aspekty działania usługi, które są najbardziej istotne z perspektywy niezawodności. W sekcji przedstawiono architekturę logiczną, która zawiera niektóre z zasobów i funkcji wdrażanych i używanych. Omówiono również architekturę fizyczną, która zawiera szczegółowe informacje na temat działania usługi za kulisami.
Architektura logiczna
Zadanie to podstawowa jednostka Stream Analytics, która umożliwia definiowanie i uruchamianie logiki przetwarzania strumieniowego. Zadanie składa się z następujących głównych składników:
- Dane wejściowe odczytujące dane przesyłane strumieniowo ze źródeł danych, takich jak Azure Event Hubs, Azure IoT Hub lub Azure Storage.
- Zapytanie, które przetwarza i przekształca dane.
- Dane wyjściowe , które stale zapisują wyniki w różnych miejscach docelowych, takich jak Azure SQL Database, Azure Data Lake Storage, Azure Cosmos DB i Power BI.
Aby uzyskać więcej informacji, zobacz Model zasobów usługi Stream Analytics.
Architektura fizyczna
Usługa Stream Analytics zapewnia wysoką niezawodność dzięki zastosowaniu wielu warstw odporności w celu wyeliminowania problemów w podstawowej infrastrukturze oraz źródłach danych wejściowych i wyjściowych. Następujące składniki pomagają zapewnić niezawodne działanie zadań:
Węzły procesu roboczego: Zadania usługi Stream Analytics są uruchamiane w klastrze. Maszyny wirtualne w klastrze są nazywane węzłami roboczymi. W przypadku korzystania z jednostek SKU w wersji Standard lub Standard V2, zadania są uruchamiane na udostępnionych klastrach. W przypadku korzystania z dedykowanej SKU zadania są uruchamiane na dedykowanym klastrze.
Platforma automatycznie zarządza tworzeniem węzłów roboczych, umieszczaniem zadań w węzłach roboczych, monitorowaniem kondycji i zastępowaniem węzłów roboczych w złej kondycji, dzięki czemu maszyny wirtualne nie są widoczne ani zarządzane bezpośrednio.
Sus: Jednostki SU reprezentują zasoby obliczeniowe, które uruchamiają zadanie. Im większa liczba jednostek SU, tym więcej zasobów obliczeniowych jest przydzielanych do zadania. Platforma zarządza węzłami procesu roboczego i dystrybucją zadań między węzłami procesu roboczego, ale odpowiadasz za przydzielanie jednostek SU do zadań. Więcej informacji znajdziesz w Omówienie i dostosowywanie jednostek SU w Stream Analytics.
Punkty kontrolne: Usługa Stream Analytics utrzymuje stan zadania poprzez regularne zapisywanie punktów kontrolnych stanu. Punkty kontrolne pomagają szybko odzyskiwać zadania, które zakończyły się niepowodzeniem przy minimalnym przetwarzaniu danych, nawet w przypadku zadań korzystających z logiki zapytań stanowych.
W przypadku wystąpienia błędów przetwarzania usługa Stream Analytics automatycznie uruchamia się ponownie z ostatniego punktu kontrolnego i ponownie przetwarza zdarzenia, które kończą się niepowodzeniem podczas przetwarzania. Ta gwarancja dotyczy wszystkich wbudowanych funkcji i funkcji zdefiniowanych przez użytkownika w zadaniu. Jednak osiągnięcie kompleksowego, dokładnie jednokrotnego dostarczania zależy od możliwości miejsca docelowego danych wyjściowych. Aby uzyskać więcej informacji, zobacz Checkpoint and replay concepts in Stream Analytics jobs (Pojęcia dotyczące punktów kontrolnych i powtarzania w zadaniach usługi Stream Analytics).
Uwaga / Notatka
Za pomocą usługi Stream Analytics w usłudze IoT Edge można uruchamiać zadania we własnej infrastrukturze. Gdy używasz usługi Stream Analytics w usłudze IoT Edge, odpowiadasz za skonfigurowanie jej w celu spełnienia wymagań dotyczących niezawodności. Usługa Stream Analytics w usłudze IoT Edge wykracza poza zakres tego artykułu.
Odporność na błędy przejściowe
Błędy przejściowe to krótkotrwałe, sporadyczne awarie w komponentach. Występują one często w środowisku rozproszonym, takich jak chmura, i są one normalną częścią operacji. Błędy przejściowe naprawiają się po krótkim czasie. Ważne jest, aby aplikacje mogły obsługiwać błędy przejściowe, zwykle ponawiając próby żądań, których dotyczy problem.
Wszystkie aplikacje hostowane w chmurze powinny postępować zgodnie ze wskazówkami dotyczącymi obsługi błędów przejściowych platformy Azure podczas komunikowania się z dowolnymi interfejsami API hostowanymi w chmurze, bazami danych i innymi składnikami. Aby uzyskać więcej informacji, zobacz Zalecenia dotyczące obsługi błędów przejściowych.
Usługa Stream Analytics automatycznie obsługuje wiele błędów przejściowych podczas pozyskiwania danych z wejść i zapisywania do wyjść za pomocą wbudowanych mechanizmów ponawiania prób. pl-PL: Po ponownym uruchomieniu węzła procesu roboczego lub ponownym przypisaniu zadania, zadanie używa punktów kontrolnych do przywracania zdarzeń, które nie zostały w pełni przetworzone, i kontynuuje przetwarzanie, dopóki nie osiągnie bieżącego strumienia wejściowego.
Dobrym rozwiązaniem jest skonfigurowanie zasad błędów wyjściowych. Jednak te zasady dotyczą tylko błędów konwersji danych i nie zmieniają sposobu obsługi błędów przejściowych przez usługę Stream Analytics.
Odporność na błędy strefy dostępności
Strefy dostępności są fizycznie oddzielnymi grupami centrów danych w regionie świadczenia usługi Azure. Gdy jedna strefa ulegnie awarii, usługi mogą przejść w tryb failover do jednej z pozostałych stref.
Usługa Stream Analytics jest automatycznie strefowo nadmiarowa w regionach, które obsługują strefy dostępności, co oznacza, że zadania korzystają z wielu stref dostępności. Nadmiarowość stref zapewnia odporność zadania na szeroką gamę awarii, w tym katastrofalne awarie centrum danych bez żadnych zmian logiki aplikacji.
Podczas tworzenia zadania Stream Analytics w regionie z obsługą stref, usługa rozdziela zasoby obliczeniowe zadania na wiele stref dostępności.
Ten model wdrożeniowy z nadmiarowością strefową zapewnia, że zadania przesyłania strumieniowego będą kontynuować przetwarzanie danych, nawet jeśli cała strefa dostępności stanie się niedostępna. Na przykład na poniższym diagramie pokazano, jak zadania będą nadal uruchamiane, jeśli w strefie 3 wystąpi awaria.
Nadmiarowość strefowa dotyczy wszystkich funkcji usługi Stream Analytics, w tym przetwarzania zapytań, tworzenia punktów kontrolnych i zarządzania zadaniami. Usługa Stream Analytics automatycznie replikuje dane stanu i punktu kontrolnego zadania w strefach dostępności, co zapobiega utracie danych i zmniejsza przestoje podczas awarii strefy.
Requirements
- Obsługa regionów: Nadmiarowość stref dla zasobów usługi Stream Analytics jest obsługiwana w dowolnym regionie obsługującym strefy dostępności. Aby uzyskać pełną listę regionów obsługujących strefy dostępności, zobacz listę regionów świadczenia usługi Azure.
- Wymagania dotyczące SKU: Redundancja strefowa jest dostępna we wszystkich SKU Stream Analytics.
Koszt
Nadmiarowość stref w usłudze Stream Analytics nie powoduje naliczania dodatkowych opłat. Płacisz tę samą stawkę za jednostki SU, niezależnie od tego, czy zadanie jest uruchamiane w konfiguracji strefowo-redundantnej, czy w konfiguracji niestrefowo-redundantnej. Aby uzyskać więcej informacji, zobacz Cennik usługi Stream Analytics.
Konfiguruj obsługę stref dostępności
Utwórz strefowo nadmiarowe zadanie usługi Stream Analytics. Zadania usługi Stream Analytics są automatycznie strefowo nadmiarowe podczas tworzenia ich w obsługiwanym regionie. Nie jest wymagana żadna konfiguracja.
Aby uzyskać instrukcje dotyczące wdrażania, zobacz Szybki start: tworzenie zadania usługi Stream Analytics przy użyciu witryny Azure Portal i przewodnik Szybki start: tworzenie dedykowanego klastra usługi Stream Analytics przy użyciu witryny Azure Portal.
Aktywuj replikację strefy. Wszystkie zadania i dedykowane klastry są automatycznie strefowo nadmiarowe w regionach, które mają strefy dostępności. Nie trzeba włączać redundancji strefowej.
Wyłącz strefową nadmiarowość. Nie można wyłączyć nadmiarowości strefy.
Zachowanie, gdy wszystkie strefy są w dobrej kondycji
W tej sekcji opisano, czego można oczekiwać, gdy zadania usługi Stream Analytics są strefowo redundantne, a działają wszystkie strefy dostępności.
Routing ruchu między strefami: Usługa Stream Analytics wykonuje każde zadanie na węzłach roboczych. Jednostki robocze w dowolnej strefie mogą przetwarzać przychodzące dane przesyłane strumieniowo. Usługa używa wewnętrznego równoważenia obciążenia do dystrybuowania zadań przetwarzania między strefami.
Replikacja danych między strefami: Usługa Stream Analytics replikuje stan zadania i dane punktu kontrolnego synchronicznie w strefach dostępności. Ponieważ zadanie przetwarza zdarzenia i aktualizuje jego stan, usługa Stream Analytics zapisuje te zmiany w wielu strefach dostępności, zanim je potwierdzi. Ta synchroniczna replikacja zapewnia zerową utratę danych, nawet jeśli cała strefa stanie się niedostępna. Proces replikacji jest niewidoczny dla aplikacji i nie ma wpływu na opóźnienie przetwarzania w normalnych warunkach.
Zachowanie podczas awarii strefy
W tej sekcji opisano, czego można oczekiwać, gdy zadania usługi Stream Analytics są strefowo nadmiarowe i występuje awaria strefy dostępności.
- Wykrywanie i reagowanie: Platforma Stream Analytics jest odpowiedzialna za wykrywanie awarii w strefie dostępności i reagowanie na nie. Stream Analytics oznacza pracowników w strefie awarii jako niezdrowych i automatycznie redystrybuuje zadania do pracowników w pozostałych zdrowych strefach. Nie musisz nic robić, aby zainicjować tryb failover strefy.
- Powiadomienie: firma Microsoft nie powiadamia cię automatycznie, gdy strefa nie działa. Możesz jednak użyć usługi Azure Resource Health do monitorowania kondycji pojedynczego zasobu i skonfigurować alerty usługi Resource Health w celu powiadamiania o problemach. Możesz również użyć usługi Azure Service Health , aby zrozumieć ogólną kondycję usługi, w tym wszelkie błędy strefy, i skonfigurować alerty usługi Service Health w celu powiadamiania o problemach.
Aktywne żądania: Usługa Stream Analytics przenosi uruchomione zadania do innego węzła roboczego w zdrowej strefie dostępności.
Usługa Stream Analytics używa punktów kontrolnych do utrzymania stanu przetwarzania. Podczas awarii strefy, pracownicy w zdrowych strefach automatycznie ponownie przetwarzają zadania uruchomione w strefie, która uległa awarii, od ostatniego punktu kontrolnego.
Oczekiwana utrata danych: System tworzenia punktów kontrolnych zadań zapewnia brak utraty danych.
Oczekiwany przestój: Zadania w toku są automatycznie wznawiane po przeniesieniu ich do zdrowego procesu roboczego.
Przekierowywanie ruchu: Usługa automatycznie przekierowuje wszystkie nowe dane wejściowe do pracowników w strefach w dobrej kondycji. Istniejące połączenia ze źródeł wejściowych są ponownie nawiązywane z pracownikami w strefach operacyjnych. Połączenia wyjściowe są podobnie ponownie tworzone, co z kolei zapewnia ciągły przepływ danych przez potok przesyłania strumieniowego.
Odzyskiwanie strefy
Gdy strefa dostępności, która uległa awarii, zostanie przywrócona, usługa Stream Analytics automatycznie ponownie zintegrowała ją z aktywną pulą przetwarzania. Zadania zaczynają wykorzystywać odzyskaną infrastrukturę.
Nie podejmujesz żadnej akcji na potrzeby odzyskiwania strefy. Platforma obsługuje wszystkie zadania odzyskiwania strefy, w tym replikację stanu i redystrybucję obciążeń.
Testowanie pod kątem niepowodzeń strefy
Platforma Stream Analytics zarządza routingiem ruchu, przełączaniem awaryjnym i odzyskiwaniem stref dostępności, dzięki czemu nie trzeba inicjować ani weryfikować procesów awarii w strefach dostępności.
Odporność na awarie całego regionu
Usługa Stream Analytics wdraża zasoby w jednym regionie świadczenia usługi Azure. Jeśli region stanie się niedostępny, zadania (i dedykowane klastry, jeśli ma to zastosowanie), są również niedostępne.
Niestandardowe rozwiązania obejmujące wiele regionów w celu zapewnienia odporności
Aby osiągnąć odporność wieloregionową dla obciążeń związanych z przesyłaniem strumieniowym, rozważ wdrożenie oddzielnych zadań w kilku regionach. W przypadku tego podejścia odpowiadasz za wdrażanie zadań i zarządzanie nimi oraz konfigurowanie odpowiednich strategii routingu i replikacji danych. Zadania usługi Stream Analytics to dwie oddzielne jednostki. Aplikacja jest odpowiedzialna za wysyłanie danych wejściowych do obu regionalnych wejść oraz za uzgadnianie regionalnych wyjść. Aby uzyskać więcej informacji, zobacz Uzyskiwanie nadmiarowości geograficznej dla zadań usługi Stream Analytics.
Kopia zapasowa i przywracanie
Usługa Stream Analytics nie ma wbudowanej funkcji tworzenia i przywracania kopii zapasowych.
Jeśli chcesz przenieść, skopiować lub utworzyć kopię zapasową definicji i konfiguracji zadań, możesz użyć rozszerzenia usługi Stream Analytics dla programu Visual Studio Code, aby wyeksportować istniejące zadanie w chmurze platformy Azure do komputera lokalnego. Po zapisaniu całej konfiguracji zadań usługi Stream Analytics lokalnie można wdrożyć je w tym samym regionie lub w innym regionie świadczenia usługi Azure. Aby uzyskać więcej informacji, zobacz Kopiowanie, tworzenie kopii zapasowej i przenoszenie zadań usługi Stream Analytics.
Odporność usługi na prace konserwacyjne
Usługa Stream Analytics wykonuje automatyczną konserwację platformy w celu stosowania aktualizacji zabezpieczeń, wdrażania nowych funkcji i zwiększania niezawodności usługi. Może ona wdrażać aktualizacje usługi co tydzień lub częściej. Usługa Stream Analytics testuje wszystkie nowe aktualizacje, aby zapewnić wysoką jakość.
Rozważ następujące kwestie, aby upewnić się, że Twoje zadania są odporne na prace konserwacyjne serwisu:
Skonfiguruj zadania, aby były odporne na powtórki. Usługa Stream Analytics zwykle używa punktów kontrolnych do przywracania danych po konserwacji usługi. Ale czasami musi użyć techniki powtórki. Musisz skonfigurować wejściowe źródła danych, aby powtórki nie powodowały nieprawidłowych lub częściowych wyników w danych wyjściowych. Aby uzyskać więcej informacji, zobacz Odzyskiwanie zadania po uaktualnieniu usługi.
Rozważ ograniczenie ryzyka błędów przez wdrożenie identycznych zadań. Usługa aktywnie wyszukuje sygnały po wdrożeniu do każdej partii, aby sprawdzić, czy wdrożenie wprowadza błędy. Jednak bez względu na to, ile testujesz, istniejące zadanie w toku może zakończyć się niepowodzeniem, gdy w trakcie konserwacji wystąpi problem. Jeśli uruchamiasz zadania o znaczeniu krytycznym, wykonaj kroki w celu ograniczenia tego ryzyka.
Możesz zmniejszyć ryzyko wystąpienia usterki wpływającej na obciążenie, wdrażając identyczne zadania w dwóch regionach świadczenia usługi Azure. Monitoruj te zadania , aby otrzymywać powiadomienia w przypadku wystąpienia nieoczekiwanego zdarzenia. Jeśli jedno z tych zadań przechodzi w stan niepowodzenia po aktualizacji usługi Stream Analytics, wykonaj następujące czynności:
- Skontaktuj się z pomocą techniczną platformy Azure , aby zidentyfikować przyczynę i rozwiązać problem.
- Przełącz w tryb failover wszystkich odbiorców podrzędnych, aby użyć danych wyjściowych zadania w dobrej kondycji.
Po wybraniu regionów platformy Azure do użycia dla zadania pomocniczego należy rozważyć, czy region ma sparowany region. Lista regionów platformy Azure zawiera najbardziej aktualne informacje na temat sparowania regionów. Usługa Stream Analytics gwarantuje, że infrastruktura w sparowanych regionach jest aktualizowana w różnym czasie. Aktualizacje usługi Stream Analytics nie są wdrażane jednocześnie w zestawie sparowanych regionów. Istnieje wystarczająca luka czasowa między aktualizacjami w celu zidentyfikowania i rozwiązania potencjalnych problemów.
Umowa dotycząca poziomu usług
Umowa dotycząca poziomu usług (SLA) dla usług platformy Azure opisuje oczekiwaną dostępność każdej usługi oraz warunki, które rozwiązanie musi spełnić, aby osiągnąć te oczekiwania dotyczące dostępności. Aby uzyskać więcej informacji, zobacz Umowy SLA dotyczące usług online.
Usługa Stream Analytics zapewnia oddzielne umowy SLA dotyczące dostępności dla wywołań interfejsu API do zarządzania zadaniami oraz dla operacji zadań.