Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O Azure AI Search é uma infraestrutura de pesquisa escalonável que indexa conteúdo heterogêneo e permite a recuperação por meio de APIs, aplicativos e agentes de IA. Ele é adequado para cenários de pesquisa empresarial e experiências de clientes com IA que exigem geração dinâmica de conteúdo por meio de modelos de conclusão de chat. 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 dar 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 de zona de disponibilidade, interrupções na região e manutenção do serviço. Ele também descreve como você pode usar backups para se recuperar de outros tipos de problemas e realça algumas informações importantes sobre o SLA (contrato de nível de serviço) do Azure AI Search.
Recomendações de implantação de produção para confiabilidade
Para cargas de trabalho de produção, recomendamos que você:
- Use uma camada faturável que tenha pelo menos duas réplicas. Essa configuração torna o serviço de pesquisa mais resiliente a falhas transitórias e operações de manutenção. Ele também atende ao SLA (contrato de nível de serviço) para a busca de IA. O SLA requer duas réplicas para cargas de trabalho de leitura e três ou mais réplicas para cargas de trabalho de leitura/gravação.
- Não use a camada Gratuita para uso em produção. A Pesquisa de IA não oferece um SLA para a Camada gratuita, que é limitada a uma réplica.
Visão geral da arquitetura de confiabilidade
Ao usar a Pesquisa de IA, você cria um serviço de pesquisa. Cada serviço de pesquisa dá suporte a muitos índices de pesquisa que armazenam seu conteúdo pesquisável.
A Pesquisa de IA não foi projetada 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 habilidade.
Você também configura o número de réplicas para seu serviço. Na Pesquisa de IA, uma réplica é uma cópia do mecanismo de pesquisa do 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 Pesquisa de IA:
Aumente a disponibilidade do 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 zonas de disponibilidade diferentes, se sua região der suporte a elas.
A Pesquisa de IA atribui automaticamente uma réplica para ser a réplica primária. 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 nos componentes. Elas ocorrem com frequência em um ambiente distribuído, como a nuvem, e são uma parte normal das operações. Falhas transitórias se corrigem após um curto período de tempo. É importante que seus aplicativos possam lidar com falhas transitórias, geralmente repetindo solicitações afetadas.
Todos os aplicativos hospedados na nuvem devem seguir as diretrizes transitórias de tratamento de falhas do Azure quando eles se comunicam com qualquer APIs, bancos de dados e outros componentes hospedados na nuvem. Para obter mais informações, confira Recomendações para tratamento de falhas transitórias.
Indexadores de busca de IA possuem tratamento interno para falhas temporárias. 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 e não programadas. A Pesquisa de IA do Azure 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, interrupções breves ainda podem ocorrer. Para melhorar a resiliência contra essas falhas transitórias, recomendamos que você use duas ou mais réplicas.
Se você criar aplicativos que interajam com a Pesquisa de IA, eles deverão lidar com falhas transitórias. Use uma estratégia de repetição com recuos exponenciais para operações de leitura e gravação.
Resiliência a falhas de zona de disponibilidade
As zonas de disponibilidade são grupos fisicamente separados de datacenters em cada região do Azure. Quando uma zona falha, os serviços podem fazer o failover de uma das zonas restantes.
A Pesquisa de IA tem redundância de zona, o que significa que suas réplicas são distribuídas entre múltiplas zonas de disponibilidade dentro da região do serviço de pesquisa.
Quando você adiciona duas ou mais réplicas ao 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 zonas da maneira 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
A busca de IA 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.
Requisitos
A redundância de zona é habilitada automaticamente quando o serviço de pesquisa atende a todos os seguintes critérios:
Suporte à região: O suporte para zonas de disponibilidade depende da infraestrutura e do armazenamento. Para obter uma lista de regiões com suporte, consulte Escolher uma região para Pesquisa de IA.
Camada: 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 você tem duas ou mais réplicas. No entanto, para cargas de trabalho de leitura e gravação, você deve usar três ou mais réplicas para receber o SLA de disponibilidade mais alto possível.
Distribuição de instâncias entre zonas
A Pesquisa de IA tenta colocar réplicas em diferentes zonas 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 as réplicas são removidas do seu serviço, como quando você reduz horizontalmente, configurando seu serviço para usar menos réplicas. A remoção de réplica não aciona o reequilíbrio automático das réplicas restantes nas zonas de disponibilidade.
Para reduzir a probabilidade de todas as réplicas serem colocadas em uma única zona de disponibilidade, você pode disparar manualmente uma operação de expansão imediatamente após uma operação para reduzir horizontalmente. Por exemplo, suponha que seu serviço de pesquisa tenha 10 réplicas e você queira diminuir para 7 réplicas. Em vez de executar uma única operação de escala, você pode dimensionar temporariamente para 6 instâncias e, em seguida, dimensionar imediatamente para 7 instâncias para disparar o rebalanceamento 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 para executar esse serviço. Para entender as implicações de cobrança 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 adicional será necessária. Sempre que possível, a Pesquisa de IA tenta colocar suas réplicas em zonas de disponibilidade diferentes.
Planejamento e gerenciamento de capacidade
Para se preparar para uma falha na zona de disponibilidade, considere superdimensionar o número de réplicas. O excesso de provisionamento permite que o serviço de pesquisa tolere alguma perda de capacidade e continue funcionando sem desempenho degradado. Adicionar réplicas durante uma interrupção é desafiador, portanto, o excesso de provisionamento ajuda a garantir que o serviço de pesquisa possa lidar com volumes de solicitação normais, mesmo com capacidade reduzida. Para obter mais informações, consulte Gerenciar capacidade por excesso de provisionamento.
Comportamento quando todas as zonas estão saudáveis
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: a Pesquisa de IA executa o balanceamento automático de carga de todas as consultas e gravações em todas as réplicas disponíveis. A Pesquisa de IA pode enviar operações de leitura para qualquer réplica em qualquer zona de disponibilidade. Ele envia operações de gravação para uma única réplica primária selecionada pelo serviço de Pesquisa de IA.
Replicação de dados entre zonas: As alterações nos dados são replicadas automaticamente entre réplicas entre zonas de disponibilidade. A replicação ocorre de forma assíncrona, o que significa que as operações de gravação 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 de zona de disponibilidade.
- Detecção e resposta: A Pesquisa de IA é responsável por detectar 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 notifica você automaticamente quando uma zona está inativa. No entanto:
Você pode usar o Azure Resource Health para monitorar a integridade de um recurso individual e configurar alertas do Resource Health para notificá-lo de problemas.
Você pode usar a Integridade do Serviço do Azure para entender a integridade geral do serviço, incluindo quaisquer falhas de zona, e pode configurar alertas de Integridade do Serviço para notificá-lo 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 diretrizes 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, uma falha de zona não deve causar tempo de inatividade ao serviço de pesquisa para operações de leitura, 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, a Pesquisa de IA promoverá automaticamente outra réplica para se tornar a nova primária para que as operações de gravação possam ser retomadas. Normalmente, leva alguns segundos para que a promoção de réplica ocorra. Durante esse tempo, as operações de gravação podem não ter êxito. Verifique se os aplicativos estão preparados seguindo as diretrizes de tratamento de falhas transitórias.
No entanto, há algumas situações improváveis onde todas as réplicas do seu serviço de pesquisa podem se encontrar em apenas uma zona de disponibilidade. Nesse cenário, você poderá experimentar 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.
Redirecionamento de tráfego: Quando uma zona falha, a Pesquisa de IA detecta a falha e roteia 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 primária.
Recuperação de zona
Quando a zona de disponibilidade se recupera, a Pesquisa de IA 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.
Testar falhas em zonas
A Pesquisa de IA gerencia o roteamento de tráfego para serviços com redundância de zona. Você não precisa iniciar nem validar nenhum processo de falha de zona.
Resiliência a falhas em toda a região
A pesquisa de IA é um serviço regional único. 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 regiões diferentes. 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 se tornará 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 failover e balanceamento de carga.
Para otimizar o desempenho da solução geral, procure oportunidades para executar a indexação em réplicas somente leitura de suas fontes de dados. Por exemplo, alguns indexadores dão suporte à leitura das 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 na Pesquisa de IA do Azure.
Backup e restauração
Como a Pesquisa de IA não é uma solução primária de armazenamento de dados, ela não oferece opções automáticas de backup e restauração. No entanto, você pode usar o exemplo index-backup-restore 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á recompilar o índice. A recompilação envolve recriar o índice em seu serviço de pesquisa e recarregá-lo recuperando dados do armazenamento de dados primário.
Contrato de nível de serviço
O acordo de nível de serviço (SLA) dos serviços do Azure descreve a disponibilidade esperada de cada serviço e as condições que sua solução deve atender para alcançar essa expectativa de disponibilidade. Para obter mais informações, consulte SLAs para serviços online.
Na Pesquisa de IA, o SLA de disponibilidade se aplica aos serviços de pesquisa que:
- Sã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).