Navrhování aplikací založených na kontejnerech a mikroslužbách
Tip
Tento obsah je výňatek z eBooku, architektury mikroslužeb .NET pro kontejnerizované aplikace .NET, které jsou k dispozici na .NET Docs nebo jako zdarma ke stažení PDF, které je možné číst offline.
Mikroslužby nabízejí skvělé výhody, ale také zvyšují obrovské nové výzvy. Vzory architektury mikroslužeb jsou základními pilíři při vytváření aplikace založené na mikroslužbách.
Dříve v této příručce jste se seznámili se základními koncepty kontejnerů a Dockeru. Informace byly minimální, které jste potřebovali k zahájení práce s kontejnery. I když jsou kontejnery povolené a skvěle se hodí pro mikroslužby, nejsou povinné pro architekturu mikroslužeb. Mnoho konceptů architektury v této části architektury lze použít bez kontejnerů. Tento průvodce se ale zaměřuje na průnik obou z důvodu již zavedené důležitosti kontejnerů.
Enterprise aplikace mohou být složité a často se skládají z více služeb místo jedné aplikace založené na službě. V takových případech potřebujete pochopit další přístupy architektury, jako jsou mikroslužby a určité vzory návrhu Domain-Driven (DDD) a koncepty orchestrace kontejnerů. Všimněte si, že tato kapitola popisuje nejen mikroslužby v kontejnerech, ale také jakoukoli kontejnerizovanou aplikaci.
Principy návrhu kontejnerů
V modelu kontejneru představuje instance image kontejneru jeden proces. Definováním image kontejneru jako hranice procesu můžete vytvořit primitivy, které se dají použít ke škálování nebo dávce procesu.
Při návrhu image kontejneru se v souboru Dockerfile zobrazí definice ENTRYPOINTu . Tato definice definuje proces, jehož životnost řídí životnost kontejneru. Po dokončení procesu skončí životní cyklus kontejneru. Kontejnery můžou představovat dlouhotrvající procesy, jako jsou webové servery, ale můžou také představovat krátkodobé procesy, jako jsou dávkové úlohy, které dříve mohly být implementovány jako Azure WebJobs.
Pokud proces selže, kontejner skončí a orchestrátor převezme. Pokud byl orchestrátor nakonfigurovaný tak, aby zachoval pět instancí spuštěných a jeden selže, orchestrátor vytvoří jinou instanci kontejneru, která nahradí neúspěšný proces. V dávkové úloze se proces spustí s parametry. Po dokončení procesu se práce dokončí. Tyto pokyny vám posílaly podrobnosti o orchestrátorech později.
Můžete najít scénář, ve kterém chcete spustit více procesů v jednom kontejneru. Pro tento scénář můžete spustit skript v kontejneru, který spustí libovolný počet programů. Můžete například použít správce nebo podobný nástroj, abyste se postarali o spouštění více procesů v jednom kontejneru. I když ale můžete najít architektury, které obsahují více procesů na kontejner, tento přístup není velmi běžný.