Introdução (análise do ponto problemático)
Para desenvolvedores e arquitetos de back-end de plataformas de conteúdo, sites de comércio eletrônico ou aplicativos corporativos de rápido crescimento, um mecanismo de busca avançado e flexível é a infraestrutura principal para aprimorar a experiência do usuário e a eficiência dos negócios. No entanto, ao criar o seu próprio mecanismo de busca ou usar serviços de busca tradicionais na nuvem, você geralmente se depara com esses problemas:
- É difícil lidar com os picos de tráfego.Ao se deparar com grandes promoções e eventos importantes, o QPS de consulta aumentava instantaneamente e os recursos fixos do cluster ficavam sobrecarregados, resultando em uma resposta lenta ou até mesmo em tempo de inatividade do serviço de pesquisa, o que afetava diretamente a conversão do usuário e a receita comercial.
- É difícil equilibrar recursos e custos.Para garantir a estabilidade durante os períodos de pico, você precisa alocar recursos para o tráfego mais alto, mas, durante a grande maioria dos períodos de baixa, um grande número de recursos de computação e armazenamento fica ocioso, resultando em um desperdício significativo de custos.
- Alta complexidade de O&M.A expansão e a contração do cluster, a atualização de versões, o gerenciamento de índices, o ajuste de desempenho e outros trabalhos de operação e manutenção exigem o investimento de uma equipe profissional e muita energia, o limite técnico é alto, o que desvia o foco do negócio principal.
Se você estiver enfrentando dificuldades com a estabilidade, o alto custo e a pesada O&M dos serviços de pesquisa, este artigo fornecerá uma solução completa de pesquisa elástica nativa da nuvem.
Diagrama e visão geral da arquitetura da solução
Objetivo.Uma imagem vale mais que mil palavras e oferece ao leitor uma visão geral.
Diagrama de arquitetura.

Visão geral da arquitetura.
O aplicativo do usuário (Web/App/servidor) inicia uma solicitação de busca, que primeiro é distribuída por meio do Tencent Cloud Load Balancing (CLB) e, em seguida, a solicitação acessa o serviço Tencent Cloud Elasticsearch (ES) por meio de uma rede privada segura (VPC).Arquitetura sem servidorouGrupos de dimensionamento elástico com base em métricas de monitoramentoO cluster do ES pode ser ampliado em segundos de acordo com a pressão da consulta em tempo real. Os dados são gravados em tempo real por meio de componentes como o Kafka e, dentro do cluster do ES, por meio doSeparação inteligente de quente e frioO mecanismo armazena os dados quentes com acesso de alta frequência em discos SSD para garantir o desempenho, transfere automaticamente os dados frios com acesso de baixa frequência para o armazenamento de objetos (COS) e reduz ainda mais os custos de armazenamento por meio da tecnologia de compactação ZSTD. A solução completa alcança a otimização máxima de custos e, ao mesmo tempo, garante resposta em milissegundos e alta disponibilidade.
Proposta de valor.Adoção do programaExtrema elasticidadeLidar com o tráfego de picoCamadas e compressão inteligentesRedução dos custos integrados por meio deServiços totalmente gerenciadosElimina o ônus de O&M e resolve perfeitamente todos os pontos problemáticos levantados na introdução.
Produtos e componentes principais
- Nome do componente. Tencent Cloud Elasticsearch Service (ES)
- Desempenhando o papel.Como o núcleo de toda a solução, é fornecido um serviço de mecanismo de pesquisa e análise distribuído para lidar com todas as solicitações de indexação e consulta de dados.
- Principais recomendações de configuração/seleção.
- Seleção de arquitetura.Altamente recomendado para cenários em que o tráfego flutua muito.Versão sem servidorEle realmente alcança o escalonamento elástico de pagamento conforme o uso e de milissegundos. Para cenários com flutuações regulares, você pode escolher a versão de dimensionamento elástico e configurar uma política de dimensionamento com base no uso da CPU ou no QPS da consulta.
- Configuração do nó.Recomendado para habilitarnó mestre exclusivopara melhorar a estabilidade do cluster; os nós de dados usamAlta IOoufinalidade geralcom unidades de nuvem SSD para otimizar o desempenho de E/S.
- Configuração de funções.Não se esqueça de ligarGerenciamento do ciclo de vida da indexação (ILM)Função para automatizar a estratificação quente-quente-frio; habilitarCompressão ZSTDpara taxas de compressão mais altas e velocidades de compressão mais rápidas.
- Por que escolher.O Tencent Cloud ES é um serviço totalmente gerenciado do Elasticsearch de código aberto compatível com o 100% que oferece todos os recursos do código aberto, bem como recursos de valor agregado, como segurança de nível empresarial, monitoramento e alertas e atualizações com um clique, para que os usuários não precisem se preocupar com a infraestrutura subjacente e se concentrem apenas na lógica de negócios da busca em si.
- Nome do componente. Armazenamento de objetos em nuvem da Tencent (COS)
- Desempenhando o papel.Serve como armazenamento subjacente para a camada de dados frios do ES, abrigando dados arquivados de acesso de baixa frequência e fornecendo serviços de armazenamento altamente confiáveis e de custo muito baixo.
- Principais recomendações de configuração/seleção.Criado para ES Cold DataArmazenamento padrãoouArmazenamento de baixa frequênciaOs buckets são suficientes, com uma durabilidade de até 99,99999999999999% (12 9s), sem necessidade de configuração adicional.
- Por que escolher.O COS tem um custo de armazenamento muito menor do que o armazenamento em bloco de alto desempenho e, ao se integrar perfeitamente com os recursos de ILM do ES, os dados frios podem ser afundados sem sentido, reduzindo os custos de armazenamento em mais de 80% sem perder a rastreabilidade dos dados.
- Nome do componente. Balanceamento de carga na nuvem (CLB) da Tencent
- Desempenhando o papel.Como uma entrada unificada para o serviço, ele distribui automaticamente solicitações de pesquisa em massa para vários nós de dados ES no back-end, eliminando pontos únicos de falha e fornecendo recursos como o descarregamento de HTTPS.
- Principais recomendações de configuração/seleção.opçãoCLB aplicadoconfigurado como um ouvinte TCP/UDP que encaminha para a porta 9200 do nó ES. Recomenda-se associar o IP público resiliente e configurar o limite de largura de banda.
- Por que escolher.Obtenha o balanceamento de carga do tráfego de acesso para melhorar a disponibilidade e o dimensionamento do serviço e, ao mesmo tempo, proteja os detalhes internos do cluster de back-end do cliente, facilitando o gerenciamento.
Resumo dos benefícios do programa
- Elasticidade extrema com escalonamento segundo a segundo.Adotando o grupo de escalonamento elástico ou sem servidor, ele pode ser expandido instantaneamente para a escala necessária de acordo com a pressão dos negócios, e os recursos são recuperados automaticamente após o pico de tráfego, o que realmente permite o pagamento por uso.
- Reduzir significativamente os custos gerais.Por meio da separação inteligente de dados quentes e frios e da tecnologia de compactação ZSTD, o custo de armazenamento de dados frios é reduzido em mais de 80%, evitando o desperdício gerado pela reserva de uma grande quantidade de recursos para lidar com o pico, e o custo abrangente pode ser otimizado em 50%+.
- 🛡️ Pronto para uso, de nível empresarial e altamente disponível.Ele oferece SLA de disponibilidade de serviço de 99,95%, mecanismo de réplica integrado, implantação de disponibilidade cruzada, recurso de failover automático e recursos de segurança, como isolamento de rede VPC, grupos de segurança, registros de acesso etc., para garantir a continuidade dos negócios e a segurança dos dados.
- Operacionalmente livre e focado na inovação dos negócios.O serviço totalmente gerenciado elimina o trabalho tedioso de operação e manutenção, como implantação de hardware, instalação de software, atualização de versão, recuperação de falhas etc. Basta fazer uma configuração simples por meio do console ou da API para obter um recurso de pesquisa avançado, de modo que a equipe possa se concentrar mais no desenvolvimento do negócio principal.
Cenários de aplicativos e clientes aplicáveis
- Cenários típicos de aplicativos.
- Site/aplicativo de comércio eletrônico.Pesquisa de produtos, filtragem, listas recomendadas, para lidar com 618, double eleven e outras grandes promoções durante a consulta massiva instantânea.
- Plataformas de conteúdo e informações.Pesquisa por palavra-chave e pesquisa de texto completo para notícias, vídeos, artigos e muito mais.
- Análise de registros e monitoramento de operações (ELK).Colete, armazene e analise dados de registro em massa de servidores e aplicativos corporativos em tempo real para solucionar problemas e obter insights comerciais.
- Recuperação de dados intraempresariais.Tais como CRM, ERP e outros sistemas dentro da consulta de informações sobre clientes, pedidos e produtos.
- Características aplicáveis do cliente.
- Há picos e vales significativos na carga de negócios e os picos são imprevisíveis.
- A quantidade de dados é enorme (de terabytes a petabytes) e o acesso aos dados tem um caráter quente e frio distinto.
- Empresas de médio e grande porte que buscam soluções econômicas e desejam otimizar seus custos de infraestrutura.
- Falta de uma equipe profissional de operações do Elasticsearch para todos os desenvolvedores que desejam um serviço de busca pronto para uso, estável e confiável.