Elasticsearch v nativní cloudové aplikaci

Tip

Tento obsah je výňatek z eBooku, Architekting Cloud Native .NET Applications for Azure, který je k dispozici na webu Docs pro .NET nebo jako soubor PDF zdarma ke stažení, který si můžete přečíst offline.

Cloud Native .NET apps for Azure eBook cover thumbnail.

Elasticsearch je distribuovaný vyhledávací a analytický systém, který umožňuje komplexní možnosti vyhledávání napříč různými typy dat. Je to open source a široce populární. Zvažte, jak následující společnosti integrují Elasticsearch do své aplikace:

  • Wikipedie pro fulltextové a přírůstkové vyhledávání (vyhledávání při psaní)
  • GitHub pro indexování a zveřejnění více než 8 milionů úložišť kódu
  • Docker pro zajištění zjistitelné knihovny kontejnerů

Elasticsearch je postaven na fulltextovém vyhledávacím stroji Apache Lucene . Lucene poskytuje vysoce výkonné indexování dokumentů a dotazování. Indexuje data pomocí invertovaného schématu indexování – místo mapování stránek na klíčová slova mapuje klíčová slova na stránky stejně jako glosář na konci knihy. Lucene má výkonné možnosti syntaxe dotazů a dokáže dotazovat data podle:

  • Termín (celé slovo)
  • Předpona (začíná slovem)
  • Zástupný znak (pomocí filtrů *nebo "?"
  • Fráze (posloupnost textu v dokumentu)
  • Logická hodnota (komplexní vyhledávání kombinující dotazy)

Zatímco Lucene poskytuje nízkoúrovňové instalatace pro vyhledávání, Elasticsearch poskytuje server, který je nad Lucene. Elasticsearch přidává funkce vyšší úrovně, které zjednodušují práci Lucene, včetně rozhraní RESTful API pro přístup k indexování a vyhledávání funkcí Lucene. Poskytuje také distribuovanou infrastrukturu, která umožňuje rozsáhlou škálovatelnost, odolnost proti chybám a vysokou dostupnost.

Pro větší aplikace nativní pro cloud s komplexními požadavky na vyhledávání je Elasticsearch k dispozici jako spravovaná služba v Azure. Předkonfigurované šablony Microsoft Azure Marketplace, které můžou vývojáři použít k nasazení clusteru Elasticsearch v Azure.

Vývojáři můžou z Microsoft Azure Marketplace použít předkonfigurované šablony vytvořené k rychlému nasazení clusteru Elasticsearch v Azure. Pomocí nabídky spravované v Azure můžete nasadit až 50 datových uzlů, 20 koordinačních uzlů a tři vyhrazené hlavní uzly.

Shrnutí

Tato kapitola představila podrobný přehled dat v nativních cloudových systémech. Začali jsme kontrastem úložiště dat v monolitických aplikacích se vzory úložiště dat v nativních cloudových systémech. Podívali jsme se na vzory dat implementované v systémech nativních pro cloud, včetně dotazů napříč službami, distribuovaných transakcí a vzorů pro zpracování systémů s velkými objemy. Naproti tomu SQL s daty NoSQL. Podívali jsme se na možnosti úložiště dat dostupné v Azure, které zahrnují možnosti microsoftu zaměřeného na open source i open source. Nakonec jsme probrali ukládání do mezipaměti a Elasticsearch v nativní cloudové aplikaci.

Reference