Partilhar via


Elasticsearch em um aplicativo nativo da nuvem

Gorjeta

Este conteúdo é um excerto do eBook, Architecting Cloud Native .NET Applications for Azure, disponível no .NET Docs ou como um PDF transferível gratuito que pode ser lido offline.

Cloud Native .NET apps for Azure eBook cover thumbnail.

O Elasticsearch é um sistema de pesquisa e análise distribuído que permite recursos de pesquisa complexos em diversos tipos de dados. É de código aberto e amplamente popular. Considere como as seguintes empresas integram o Elasticsearch em seus aplicativos:

  • Wikipédia para pesquisa de texto completo e incremental (pesquisa à medida que escreve).
  • GitHub para indexar e expor mais de 8 milhões de repositórios de código.
  • Docker para tornar sua biblioteca de contêineres detetável.

O Elasticsearch é construído sobre o mecanismo de pesquisa de texto completo Apache Lucene . Lucene fornece indexação e consulta de documentos de alto desempenho. Indexa dados com um esquema de indexação invertido – em vez de mapear páginas para palavras-chave, mapeia palavras-chave para páginas como um glossário no final de um livro. O Lucene tem recursos poderosos de sintaxe de consulta e pode consultar dados ao:

  • Termo (uma palavra completa)
  • Prefixo (começa com palavra)
  • Curinga (usando filtros "*" ou "?" )
  • Frase (uma sequência de texto num documento)
  • Valor booleano (pesquisas complexas combinando consultas)

Enquanto o Lucene fornece encanamento de baixo nível para pesquisa, o Elasticsearch fornece o servidor que fica em cima do Lucene. O Elasticsearch adiciona funcionalidade de nível superior para simplificar o trabalho do Lucene, incluindo uma API RESTful para acessar a funcionalidade de indexação e pesquisa do Lucene. Ele também fornece uma infraestrutura distribuída capaz de escalabilidade maciça, tolerância a falhas e alta disponibilidade.

Para aplicativos nativos da nuvem maiores com requisitos de pesquisa complexos, o Elasticsearch está disponível como serviço gerenciado no Azure. O Microsoft Azure Marketplace apresenta modelos pré-configurados que os desenvolvedores podem usar para implantar um cluster do Elasticsearch no Azure.

No Microsoft Azure Marketplace, os desenvolvedores podem usar modelos pré-configurados criados para implantar rapidamente um cluster do Elasticsearch no Azure. Usando a oferta gerenciada pelo Azure, você pode implantar até 50 nós de dados, 20 nós de coordenação e três nós mestres dedicados.

Resumo

Este capítulo apresentou uma visão detalhada dos dados em sistemas nativos da nuvem. Começámos por contrastar o armazenamento de dados em aplicações monolíticas com padrões de armazenamento de dados em sistemas nativos da nuvem. Analisamos padrões de dados implementados em sistemas nativos da nuvem, incluindo consultas entre serviços, transações distribuídas e padrões para lidar com sistemas de alto volume. Contrastamos SQL com dados NoSQL. Analisámos as opções de armazenamento de dados disponíveis no Azure que incluem opções centradas na Microsoft e de código aberto. Finalmente, discutimos o cache e o Elasticsearch em um aplicativo nativo da nuvem.

Referências