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.
Usługa Azure AI Search to skalowalna infrastruktura wyszukiwania, która indeksuje heterogeniczną zawartość i umożliwia pobieranie za pośrednictwem interfejsów API, aplikacji i agentów sztucznej inteligencji. Jest ona odpowiednia dla scenariuszy wyszukiwania w przedsiębiorstwie i środowisk klientów opartych na sztucznej inteligencji, które wymagają dynamicznego generowania zawartości za pośrednictwem modeli uzupełniania czatów. Jako usługa platformy Azure usługa AI Search oferuje szereg możliwości obsługi wymagań dotyczących niezawodności.
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 sposobu działania tych możliwości we wszystkich używanych usługach oraz wybór możliwości potrzebnych do osiągnięcia twoich celów biznesowych i celów dostępności.
W tym artykule opisano, jak usługa Azure AI Search jest odporna na różne potencjalne awarie i problemy, w tym przejściowe błędy, awarie strefy dostępności, awarie regionów i konserwacja usługi. W tym artykule opisano również, jak można używać kopii zapasowych do odzyskiwania po innych typach problemów, oraz wyróżnia niektóre kluczowe informacje o umowie dotyczącej poziomu usług Azure AI Search (SLA).
Zalecenia dotyczące wdrażania produkcyjnego pod kątem niezawodności
W przypadku obciążeń produkcyjnych zalecamy:
- Użyj poziomu rozliczeń, który ma co najmniej dwie repliki. Ta konfiguracja sprawia, że usługa wyszukiwania jest bardziej odporna na błędy przejściowe i operacje konserwacji. Spełnia również umowę dotyczącą poziomu usług (SLA) dotyczącą wyszukiwania sztucznej inteligencji. Umowa SLA wymaga dwóch replik dla obciążeń tylko do odczytu i co najmniej trzech replik dla obciążeń odczytu i zapisu.
- Nie używaj darmowego poziomu do zastosowań produkcyjnych. Wyszukiwanie oparte na sztucznej inteligencji nie zapewnia umowy SLA dla warstwy darmowej, która jest ograniczona do jednej repliki.
Omówienie architektury niezawodności
Podczas korzystania z funkcji wyszukiwania sztucznej inteligencji należy utworzyć usługę wyszukiwania. Każda usługa wyszukiwania obsługuje wiele indeksów wyszukiwania , które przechowują zawartość z możliwością wyszukiwania.
Wyszukiwanie sztucznej inteligencji nie jest zaprojektowane jako podstawowy magazyn danych. Zamiast tego używasz indeksatorów do łączenia usługi wyszukiwania z zewnętrznymi źródłami danych. Indeksator przeszukiwa dane źródłowe, wywołuje umiejętności , które wykonują przetwarzanie i wzbogacanie, i wypełnia indeks danymi wyjściowymi umiejętności.
Można również skonfigurować liczbę replik dla usługi. W wyszukiwaniu AI replika jest kopią wyszukiwarki twojej usługi. Replikę można traktować jako reprezentującą jedną maszynę wirtualną. Każda usługa wyszukiwania może mieć od 1 do 12 replik.
Dodanie wielu replik umożliwia wyszukiwanie sztucznej inteligencji:
Zwiększ dostępność usługi wyszukiwania.
Wykonaj konserwację na jednej replice, gdy zapytania wciąż będą uruchamiane na innych replikach.
Obsługa wyższych obciążeń indeksowania i zapytań.
Zwiększ odporność, próbując wdrażać repliki w różnych strefach dostępności, jeśli są one obsługiwane w Twoim regionie.
Wyszukiwanie sztucznej inteligencji automatycznie przypisuje jedną replikę do repliki podstawowej. Wszystkie operacje zapisu są wykonywane względem tej repliki. Pozostałe repliki są używane do operacji odczytu.
Na poniższym diagramie pokazano, jak usługa wyszukiwania z trzema replikami może być rozłożona w trzech strefach dostępności:
Można również skonfigurować liczbę partycji, które reprezentują magazyn używany przez indeksy wyszukiwania.
Ważne jest, aby zrozumieć wpływ dodawania replik i partycji, ponieważ wpływają one na wydajność odczytu i zapisu na różne sposoby. Aby uzyskać więcej informacji na temat replik i partycji, zobacz Szacowanie pojemności usługi wyszukiwania i zarządzanie nią.
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.
Indeksatory wyszukiwania sztucznej inteligencji mają wbudowaną obsługę błędów przejściowych. Jeśli źródło danych jest na krótko niedostępne, indeksator został zaprojektowany w celu odzyskania i ponawiania próby. Używa śledzenia zmian, aby wznowić indeksowanie z ostatniego pomyślnie indeksowanego dokumentu.
Usługi wyszukiwania mogą napotkać błędy przejściowe podczas standardowych, nieplanowanych operacji konserwacji. Usługa Azure AI Search nie udostępnia powiadomień z wyprzedzeniem ani nie zezwala na planowanie konserwacji w określonym czasie. Mimo że wszystkie wysiłki są podejmowane w celu zminimalizowania przestojów, nawet w przypadku usług z jedną repliką, nadal mogą wystąpić krótkie przerwy. Aby zwiększyć odporność na te błędy przejściowe, zalecamy użycie co najmniej dwóch replik.
Jeśli tworzysz aplikacje, które współdziałają z wyszukiwaniem sztucznej inteligencji, powinny obsługiwać błędy przejściowe. Użyj strategii ponawiania z wykładniczymi odstępami czasowymi zarówno dla operacji odczytu, jak i zapisu.
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.
Wyszukiwanie AI jest strefowo nadmiarowe, co oznacza, że repliki są rozproszone w wielu strefach dostępności w regionie usługi wyszukiwania AI.
Po dodaniu co najmniej dwóch replik do usługi wyszukiwanie sztucznej inteligencji próbuje umieścić każdą replikę w innej strefie dostępności. W przypadku usług, które mają więcej replik niż dostępne strefy, repliki są dystrybuowane między strefami tak równomiernie, jak to możliwe.
Na poniższym diagramie przedstawiono sposób wdrożenia przykładowej usługi wyszukiwania z czterema replikami w trzech strefach dostępności:
Ważne
Wyszukiwanie AI nie gwarantuje dokładnego umiejscowienia replik. Umieszczanie podlega ograniczeniom pojemności, operacjom skalowania i innym czynnikom.
Wymagania
Nadmiarowość strefy jest automatycznie włączana, gdy usługa wyszukiwania spełnia wszystkie następujące kryteria:
Obsługa regionów: Obsługa stref dostępności zależy od infrastruktury i magazynu. Aby uzyskać listę obsługiwanych regionów, zobacz Wybieranie regionu wyszukiwania sztucznej inteligencji.
Kondygnacja: Usługa musi znajdować się w warstwie Podstawowa lub wyższej
Liczba replik: Usługa musi mieć co najmniej dwie repliki
Uwaga / Notatka
Wyszukiwanie sztucznej inteligencji próbuje dystrybuować repliki w wielu strefach, gdy masz co najmniej dwie repliki. Jednak w przypadku obciążeń odczytu i zapisu należy użyć co najmniej trzech replik, aby uzyskać umowę SLA o najwyższej możliwej dostępności.
Dystrybucja wystąpień między strefami
Wyszukiwarka sztucznej inteligencji próbuje umieścić repliki w różnych strefach dostępności. Czasami występują jednak sytuacje, w których wszystkie repliki usługi wyszukiwania mogą zostać umieszczone w tej samej strefie dostępności. Taka sytuacja może wystąpić, gdy repliki zostaną usunięte z usługi, na przykład podczas skalowania w poziomie , konfigurując usługę do używania mniejszej liczby replik. Usunięcie repliki nie powoduje ponownego równoważenia pozostałych replik w strefach dostępności.
Aby zmniejszyć prawdopodobieństwo umieszczenia wszystkich replik w jednej strefie dostępności, możesz ręcznie wyzwolić operację skalowania w poziomie bezpośrednio po operacji skalowania w poziomie. Załóżmy na przykład, że usługa wyszukiwania ma 10 replik i chcesz skalować do 7 replik. Zamiast wykonywać pojedynczą operację skalowania, można tymczasowo skalować do 6 wystąpień, a następnie natychmiast skalować do 7 wystąpień w celu wyzwolenia ponownego równoważenia strefy.
Koszt
Każda usługa wyszukiwania rozpoczyna się od jednej repliki. Nadmiarowość w strefach wymaga dwóch lub więcej replik, co zwiększa koszt działania usługi. Aby zrozumieć implikacje dotyczące rozliczeń replik, skorzystaj z kalkulatora cen.
Konfiguruj obsługę stref dostępności
Jeśli usługa wyszukiwania spełnia wymagania dotyczące nadmiarowości strefy, nie jest wymagana żadna dodatkowa konfiguracja. Jeśli to możliwe, AI Search stara się rozmieszczać repliki w różnych strefach dostępności.
Planowanie pojemności i zarządzanie nimi
Aby przygotować się na awarię strefy dostępności, rozważ nadprowizjonowanie liczby replik. Nadmierna aprowizacja umożliwia usłudze wyszukiwania tolerowanie pewnej utraty pojemności i dalsze działanie bez obniżonej wydajności. Dodawanie replik podczas awarii jest trudne, dlatego nadmierna aprowizacja pomaga zapewnić, że usługa wyszukiwania może obsługiwać normalne woluminy żądań, nawet przy mniejszej pojemności. Aby uzyskać więcej informacji, zobacz Manage capacity by overprovisioning (Zarządzanie pojemnością przez nadmiarową alokację).
Zachowanie, gdy wszystkie strefy są w dobrej kondycji
W tej sekcji opisano, czego można oczekiwać, gdy usługi wyszukiwania są skonfigurowane pod kątem nadmiarowości strefy, a wszystkie strefy dostępności działają.
Trasowanie ruchu między strefami: Wyszukiwanie oparte na sztucznej inteligencji automatycznie równoważy obciążenie wszystkich zapytań i zapisów wśród wszystkich dostępnych replik. Wyszukiwanie sztucznej inteligencji może wysyłać operacje odczytu do dowolnej repliki w dowolnej strefie dostępności. Wysyła operacje zapisu do pojedynczej, wybranej przez usługę AI Search, repliki podstawowej.
Replikacja danych między strefami: Zmiany w danych są automatycznie replikowane między replikami w różnych strefach dostępności. Replikacja odbywa się asynchronicznie, co oznacza, że zapisy są zatwierdzane do jednej repliki podstawowej, zanim zostaną zreplikowane do innych replik.
Zachowanie podczas awarii strefy
Sekcja ta opisuje, czego można oczekiwać, gdy usługi wyszukiwania są skonfigurowane z uwzględnieniem nadmiarowości stref i dojdzie do awarii strefy dostępności.
- Wykrywanie i reagowanie: Wyszukiwanie sztucznej inteligencji jest odpowiedzialne za wykrywanie awarii w strefie dostępności. 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: Żądania, które repliki przetwarzają w strefie zakończonej niepowodzeniem, są przerywane. Klienci powinni ponowić próbę żądań, postępując zgodnie ze wskazówkami dotyczącymi obsługi błędów przejściowych.
Oczekiwana utrata danych: Jeśli strefa dostępności, której dotyczy problem, zawiera tylko repliki do odczytu, nie oczekuje się utraty danych.
Jeśli replika podstawowa zostanie utracona, ponieważ znajduje się w strefie, której dotyczy problem, wszystkie operacje zapisu, które nie zostały jeszcze zreplikowane, mogą zostać utracone.
Oczekiwany przestój: W większości sytuacji awaria strefy nie powinna spowodować przestoju w działaniu usługi wyszukiwania dla operacji odczytu, ponieważ repliki odczytu w innych strefach dostępności nadal obsługują żądania.
Jeśli replika podstawowa zostanie utracona, ponieważ znajdowała się w strefie objętej problemem, funkcja wyszukiwania sztucznej inteligencji automatycznie awansuje inną replikę na nową replikę podstawową, aby możliwe było wznowienie operacji zapisu. Promocja repliki zazwyczaj trwa kilka sekund. W tym czasie operacje zapisu mogą się nie udać. Upewnij się, że aplikacje są przygotowane, postępując zgodnie ze wskazówkami dotyczącymi obsługi błędów przejściowych.
Istnieją jednak pewne mało prawdopodobne sytuacje, w których wszystkie repliki usługi wyszukiwania mogą znajdować się w obrębie jednej strefy dostępności. W tym scenariuszu możesz doświadczyć przestoju aż do momentu, gdy strefa zostanie odzyskana. Aby uzyskać więcej informacji i zrozumieć obejście, zobacz Dystrybucja wystąpień.
Przekierowywanie ruchu: Gdy strefa zakończy się niepowodzeniem, usługa AI Search wykryje błąd i kieruje żądania do aktywnych replik w strefach ocalałych. Jeśli replika podstawowa zostanie utracona, kolejna replika zostanie awansowana jako nowa replika podstawowa.
Odzyskiwanie strefy
Po odzyskaniu strefy dostępności wyszukiwanie sztucznej inteligencji automatycznie przywraca normalne operacje i rozpoczyna kierowanie ruchu do dostępnych replik we wszystkich strefach, w tym odzyskanej strefy.
Testowanie pod kątem niepowodzeń strefy
AI zarządza routingiem ruchu dla usług ze strefową redundancją. Nie musisz inicjować ani weryfikować żadnych procesów awarii strefy.
Odporność na awarie całego regionu
Wyszukiwanie sztucznej inteligencji to usługa jednoregionowa. Jeśli region stanie się niedostępny, usługa wyszukiwania stanie się również niedostępna.
Niestandardowe rozwiązania obejmujące wiele regionów w celu zapewnienia odporności
Opcjonalnie można wdrożyć wiele usług wyszukiwania sztucznej inteligencji w różnych regionach. Odpowiadasz za wdrażanie i konfigurowanie oddzielnych usług w każdym regionie. Jeśli utworzysz identyczne wdrożenie w regionie pomocniczym platformy Azure, które korzysta z architektury obejmującej wiele regionów, aplikacja stanie się mniej podatna na awarię w jednym regionie.
Po zastosowaniu tej metody należy zsynchronizować indeksy między regionami, aby odzyskać ostatni stan aplikacji. Należy również skonfigurować równoważenie obciążenia i zasady trybu failover.
Aby zoptymalizować wydajność ogólnego rozwiązania, poszukaj możliwości indeksowania w replikach tylko do odczytu źródeł danych. Na przykład niektóre indeksatory obsługują odczytywanie z replik do odczytu rozproszonego geograficznie źródła danych.
Aby uzyskać więcej informacji, zobacz Wdrożenia w wielu regionach w usłudze Azure AI Search.
Tworzenie kopii zapasowej i przywracanie
Ponieważ wyszukiwanie sztucznej inteligencji nie jest podstawowym rozwiązaniem do przechowywania danych, nie zapewnia opcji samoobsługowego tworzenia i przywracania kopii zapasowych. Można jednak użyć przykładu index-backup-restore dla platformy .NET lub języka Python , aby utworzyć kopię zapasową definicji indeksu i jego dokumentów w serii plików JSON, które są następnie używane do przywracania indeksu.
Jeśli jednak przypadkowo usuniesz indeks i nie masz kopii zapasowej, możesz ponownie skompilować indeks. Ponowne kompilowanie polega na ponownym utworzeniu indeksu w usłudze wyszukiwania, a następnie ponownym załadowaniu go przez pobranie danych z podstawowego magazynu danych.
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.
W obszarze Wyszukiwania sztucznej inteligencji umowa SLA dotycząca dostępności ma zastosowanie do usług wyszukiwania, które:
- Są skonfigurowane do używania warstwy rozliczanej.
- Mają co najmniej dwie repliki dla obciążeń tylko do odczytu (zapytań).
- Mają co najmniej trzy repliki dla obciążeń odczytu i zapisu (zapytań i indeksowania).