Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O Azure AI Search é uma infraestrutura de pesquisa escalável que indexa conteúdo heterogêneo e permite a recuperação por meio de APIs, aplicativos e agentes de IA. É adequado para cenários de pesquisa empresarial e experiências de cliente baseadas em IA que exigem geração de conteúdo dinâmico por meio de modelos de conclusão de bate-papo. Como um serviço do Azure, o AI Search fornece uma variedade de recursos para dar suporte aos seus requisitos de confiabilidade.
Quando você usa o Azure, a confiabilidade é uma responsabilidade compartilhada. A Microsoft fornece uma variedade de recursos para oferecer suporte à resiliência e à recuperação. Você é responsável por entender como esses recursos funcionam em todos os serviços que você usa e selecionar os recursos necessários para atender aos seus objetivos de negócios e metas de tempo de atividade.
Este artigo descreve como tornar o Azure AI Search resiliente a uma variedade de possíveis interrupções e problemas, incluindo falhas transitórias, interrupções na zona de disponibilidade, interrupções de região e manutenção de serviços. Ele também descreve como você pode usar backups para se recuperar de outros tipos de problemas e destaca algumas informações importantes sobre o contrato de nível de serviço (SLA) do Azure AI Search.
Recomendações de implantação de produção para confiabilidade
Para cargas de trabalho de produção, recomendamos que:
- Utilize uma camada faturável que tenha pelo menos duas réplicas. Esta configuração torna o seu serviço de pesquisa mais resiliente a falhas transitórias e operações de manutenção. Ele também atende ao acordo de nível de serviço (SLA) para AI Search. O SLA requer duas réplicas para cargas de trabalho somente leitura e três ou mais réplicas para cargas de trabalho de leitura-escrita.
- Não use o nível gratuito para uso em produção. O AI Search não disponibiliza um SLA para o nível Gratuito, que é limitado a uma réplica.
Visão geral da arquitetura de confiabilidade
Ao usar o AI Search, você cria um serviço de pesquisa. Cada serviço de pesquisa suporta muitos índices de pesquisa que armazenam o seu conteúdo pesquisável.
O AI Search não foi projetado como um armazenamento de dados primário. Em vez disso, você usa indexadores para conectar seu serviço de pesquisa a fontes de dados externas. Um indexador rastreia os dados de origem, invoca habilidades que executam processamento e enriquecimento e preenche seu índice com as saídas de habilidades.
Você também configura o número de réplicas para seu serviço. No AI Search, uma réplica é uma cópia do mecanismo de pesquisa do seu serviço. Você pode pensar em uma réplica como representando uma única máquina virtual (VM). Cada serviço de pesquisa pode ter entre 1 e 12 réplicas.
A adição de várias réplicas permite que a AI Search:
Aumente a disponibilidade do seu serviço de pesquisa.
Execute a manutenção em uma réplica enquanto as consultas continuam a ser executadas em outras réplicas.
Lide com cargas de trabalho de indexação e consulta mais altas.
Melhore a resiliência tentando provisionar réplicas em diferentes zonas de disponibilidade, se sua região oferecer suporte a elas.
O AI Search atribui automaticamente uma réplica para ser a réplica principal. Todas as operações de gravação são executadas nessa réplica. As outras réplicas são usadas para operações de leitura.
O diagrama a seguir ilustra como um serviço de pesquisa com três réplicas pode ser distribuído em três zonas de disponibilidade:
Você também pode configurar o número de partições, que representam o armazenamento que os índices de pesquisa usam.
É importante entender o impacto da adição de réplicas e partições, pois cada uma delas afeta o desempenho de leitura e gravação de maneiras diferentes. Para obter mais informações sobre réplicas e partições, consulte Estimar e gerenciar a capacidade de um serviço de pesquisa.
Resiliência a falhas transitórias
Falhas transitórias são falhas curtas e intermitentes em componentes. Eles ocorrem com frequência em um ambiente distribuído, como a nuvem, e são uma parte normal das operações. As falhas transitórias corrigem-se após um curto período de tempo. É importante que seus aplicativos possam lidar com falhas transitórias, geralmente tentando novamente as solicitações afetadas.
Todos os aplicativos hospedados na nuvem devem seguir as diretrizes de tratamento de falhas transitórias do Azure quando se comunicam com quaisquer APIs, bancos de dados e outros componentes hospedados na nuvem. Para obter mais informações, consulte Recomendações para o tratamento de falhas transitórias.
Os indexadores de pesquisa de IA têm tratamento de falhas transitórias incorporado. Se uma fonte de dados estiver brevemente indisponível, o indexador será projetado para recuperar e tentar novamente. Ele usa o controle de alterações para retomar a indexação do último documento indexado com êxito.
Os serviços de pesquisa podem apresentar falhas transitórias durante operações de manutenção padrão não programadas. O Azure AI Search não fornece notificação antecipada nem permite o agendamento de manutenção em horários específicos. Embora todos os esforços sejam feitos para minimizar o tempo de inatividade, mesmo para serviços de réplica única, breves interrupções ainda podem ocorrer. Para melhorar a resiliência contra essas falhas transitórias, recomendamos o uso de duas ou mais réplicas.
Se você criar aplicativos que interajam com o AI Search, eles devem lidar com falhas transitórias. Utilize uma estratégia de repetição com intervalos exponenciais para operações de leitura e gravação.
Resiliência a falhas na zona de disponibilidade
As zonas de disponibilidade são grupos fisicamente separados de centros de dados dentro de uma região Azure. Quando uma zona falha, os serviços podem ser transferidos para uma das zonas restantes.
O AI Search é redundante por zona, o que significa que suas réplicas são distribuídas em várias zonas de disponibilidade dentro da região do serviço de pesquisa.
Quando você adiciona duas ou mais réplicas ao seu serviço, a Pesquisa de IA tenta colocar cada réplica em uma zona de disponibilidade diferente. Para serviços que têm mais réplicas do que zonas disponíveis, as réplicas são distribuídas entre as zonas da forma mais uniforme possível.
O diagrama a seguir ilustra como um serviço de pesquisa de exemplo com quatro réplicas pode ser implantado em três zonas de disponibilidade:
Importante
O AI Search não garante o posicionamento exato das réplicas. O posicionamento está sujeito a restrições de capacidade, operações de dimensionamento e outros fatores.
Requerimentos
A redundância de zona é ativada automaticamente quando o serviço de pesquisa atende a todos os seguintes critérios:
Suporte da região: O suporte para zonas de disponibilidade depende da infraestrutura e do armazenamento. Para obter uma lista de regiões suportadas, consulte Escolher uma região para a Pesquisa de IA.
Nível: Seu serviço deve estar na camada Básica ou superior
Número de réplicas: Seu serviço deve ter pelo menos duas réplicas
Observação
A Pesquisa de IA tenta distribuir réplicas em várias zonas quando se tem duas ou mais réplicas. No entanto, para cargas de trabalho de leitura-gravação, deve-se usar três ou mais réplicas para obter o Acordo de Nível de Serviço (SLA) de disponibilidade mais alto possível.
Distribuição de instâncias entre zonas
AI Search tenta colocar réplicas em diferentes regiões de disponibilidade. No entanto, ocasionalmente há situações em que todas as réplicas de um serviço de pesquisa podem ser colocadas na mesma zona de disponibilidade. Essa situação pode acontecer quando réplicas são removidas do serviço, como quando você aumenta a escala configurando o serviço para usar menos réplicas. A remoção de réplicas não leva as réplicas restantes a se reequilibrar entre as zonas de disponibilidade.
Para reduzir a probabilidade de todas as réplicas serem colocadas em uma única zona de disponibilidade, você pode acionar manualmente uma operação de expansão imediatamente após uma operação de expansão. Por exemplo, suponha que o seu serviço de pesquisa tenha 10 réplicas e você queira reduzir a escala para 7 réplicas. Em vez de executar uma operação de escala única, você pode dimensionar temporariamente para 6 instâncias e, em seguida, dimensionar imediatamente para 7 instâncias para acionar o reequilíbrio de zona.
Custo
Cada serviço de pesquisa começa com uma réplica. A redundância de zona requer duas ou mais réplicas, o que aumenta o custo de operação do serviço. Para entender as implicações de faturamento das réplicas, use a calculadora de preços.
Configurar o suporte à zona de disponibilidade
Se o serviço de pesquisa atender aos requisitos de redundância de zona, nenhuma configuração extra será necessária. Sempre que possível, o AI Search tenta colocar suas réplicas em diferentes zonas de disponibilidade.
Planejamento e gerenciamento de capacidade
Para se preparar para falhas na zona de disponibilidade, considere o provisionamento excessivo do número de réplicas. O provisionamento excessivo permite que o serviço de pesquisa tolere alguma perda de capacidade e continue a funcionar sem desempenho degradado. Adicionar réplicas durante uma interrupção é um desafio, portanto, o provisionamento excessivo ajuda a garantir que seu serviço de pesquisa possa lidar com volumes normais de solicitações, mesmo com capacidade reduzida. Para obter mais informações, consulte Gerenciar a capacidade por excesso de provisionamento.
Comportamento quando todas as zonas estão íntegras
Esta seção descreve o que esperar quando os serviços de pesquisa são configurados para redundância de zona e todas as zonas de disponibilidade estão operacionais.
Roteamento de tráfego entre zonas: O AI Search realiza o balanceamento automático de carga de todas as consultas e gravações em todas as réplicas disponíveis. O AI Search pode enviar operações de leitura para qualquer réplica em qualquer zona de disponibilidade. Direciona operações de gravação para uma única réplica primária selecionada pelo serviço AI Search.
Replicação de dados entre zonas: As alterações nos dados são replicadas automaticamente entre réplicas em zonas de disponibilidade. A replicação ocorre de forma assíncrona, o que significa que as escritas são confirmadas em uma réplica primária antes de serem replicadas para outras réplicas.
Comportamento durante uma falha de zona
Esta seção descreve o que esperar quando os serviços de pesquisa são configurados para redundância de zona e ocorre uma interrupção da zona de disponibilidade.
- Deteção e resposta: O AI Search é responsável por detetar uma falha em uma zona de disponibilidade. Você não precisa fazer nada para iniciar um failover de zona.
- Notificação: a Microsoft não o notifica automaticamente quando uma zona está inativa. No entanto, pode usar o Azure Resource Health para monitorizar a saúde de um recurso individual e pode configurar alertas de saúde do recurso para o notificar de problemas. Também pode usar o Azure Service Health para compreender o estado geral do serviço, incluindo quaisquer falhas de zona, e pode configurar alertas de Service Health para o notificar de problemas.
Solicitações ativas: As solicitações que as réplicas processam na zona com falha são encerradas. Os clientes devem repetir as solicitações seguindo as orientações para lidar com falhas transitórias.
Perda de dados esperada: Se a zona de disponibilidade afetada contiver apenas réplicas de leitura, nenhuma perda de dados será esperada.
Se a réplica primária for perdida porque estava na zona afetada, todas as operações de gravação que ainda não foram replicadas poderão ser perdidas.
Tempo de inatividade esperado: Na maioria das situações, não se espera que uma falha de zona cause tempo de inatividade para operações de leitura no serviço de pesquisa, porque as réplicas de leitura em outras zonas de disponibilidade continuam a atender solicitações.
Se a réplica primária for perdida porque estava na zona afetada, o AI Search promoverá automaticamente outra réplica para se tornar a nova réplica primária para que as operações de gravação possam ser retomadas. Normalmente, leva alguns segundos para que a promoção da réplica ocorra. Durante esse tempo, as operações de gravação podem não ter êxito. Certifique-se de que seus aplicativos estejam preparados seguindo as diretrizes de tratamento de falhas transitórias.
No entanto, há algumas situações improváveis em que todas as réplicas do seu serviço de pesquisa podem estar em uma única zona de disponibilidade. Nesse cenário, você pode enfrentar tempo de inatividade até que a zona se recupere. Para obter mais informações e entender uma solução alternativa, consulte Distribuição de instância.
Reencaminhamento do tráfego: Quando uma zona falha, o AI Search deteta a falha e encaminha solicitações para réplicas ativas nas zonas sobreviventes. Se a réplica primária for perdida, outra réplica será promovida para ser a nova principal.
Recuperação de zona
Quando a zona de disponibilidade se recupera, o AI Search restaura automaticamente as operações normais e começa a rotear o tráfego para réplicas disponíveis em todas as zonas, incluindo a zona recuperada.
Teste de falhas de zona
O AI Search gerencia o roteamento de tráfego para serviços com redundância de zona. Não é necessário iniciar ou validar nenhum processo de falha de zona.
Resiliência a falhas em toda a região
O AI Search é um serviço de região única. Se a região ficar indisponível, o serviço de pesquisa também ficará indisponível.
Soluções personalizadas de várias regiões para resiliência
Opcionalmente, você pode implantar vários serviços de Pesquisa de IA em diferentes regiões. Você é responsável por implantar e configurar serviços separados em cada região. Se você criar uma implantação idêntica em uma região secundária do Azure que usa uma arquitetura de várias regiões, seu aplicativo ficará menos suscetível a um desastre de região única.
Ao seguir essa abordagem, você deve sincronizar índices entre regiões para recuperar o último estado do aplicativo. Você também deve configurar políticas de balanceamento de carga e failover.
Para otimizar o desempenho de sua solução geral, procure oportunidades para executar a indexação em réplicas somente leitura de suas fontes de dados. Por exemplo, alguns indexadores oferecem suporte à leitura de réplicas de leitura de uma fonte de dados distribuída geograficamente.
Para obter mais informações, consulte Implantações de várias regiões no Azure AI Search.
Backup e restauração
Como o AI Search não é uma solução primária de armazenamento de dados, ele não fornece opções de backup e restauração de autoatendimento. No entanto, você pode usar o index-backup-restore exemplo para .NET ou Python para fazer backup de sua definição de índice e seus documentos para uma série de arquivos JSON, que são usados para restaurar o índice.
No entanto, se você excluir acidentalmente o índice e não tiver um backup, poderá reconstruir o índice. A reconstrução envolve a recriação do índice no serviço de pesquisa e, em seguida, o recarregamento recuperando dados do armazenamento de dados primário.
Contrato de nível de serviço
O contrato de nível de serviço (SLA) para serviços do Azure descreve a disponibilidade esperada de cada serviço e as condições que sua solução deve atender para atingir essa expectativa de disponibilidade. Para obter mais informações, consulte Acordos de Nível de Serviço (SLAs) para serviços online.
No AI Search, o SLA de disponibilidade aplica-se a serviços de pesquisa que:
- Estão configurados para usar uma camada faturável.
- Tenha pelo menos duas réplicas para cargas de trabalho somente leitura (consultas).
- Tenha pelo menos três réplicas para cargas de trabalho de leitura-gravação (consultas e indexação).