Sdílet prostřednictvím


Rozdělení kolem limitů

Použití dělení k práci s limity databáze, sítě a výpočetních prostředků

V cloudu mají všechny služby omezení schopnosti vertikálně navýšit kapacitu. Limity služeb Azure jsou popsané v limitech, kvótách a omezeních předplatného a služeb Azure. Omezení zahrnují počet jader, velikost databáze, propustnost dotazů a propustnost sítě. Pokud se váš systém dostatečně rozrůstá, může dojít k dosažení jednoho nebo více těchto limitů. Tyto limity můžete obejít pomocí dělení.

Existuje mnoho způsobů, jak rozdělit systém, například:

  • Rozdělte databázi, abyste se vyhnuli omezením velikosti databáze, vstupně-výstupních operací dat nebo počtu souběžných relací.

  • Rozdělte frontu nebo sběrnici zpráv, abyste se vyhnuli omezením počtu požadavků nebo počtu souběžných připojení.

  • Rozdělte webovou aplikaci služby App Service, abyste se vyhnuli omezením počtu instancí na plán služby App Service.

Databázi je možné rozdělit vodorovně, svisle nebo funkčně.

  • Při horizontálním dělení, také nazývaném sharding, obsahuje každý oddíl data pro podmnožinu celkové datové sady. Oddíly sdílejí stejné schéma dat. Například zákazníci, jejichž jména začínají písmenem A–M, přejdou do jednoho oddílu N–Z do jiného oddílu.

  • Ve svislém dělení obsahuje každý oddíl podmnožinu polí pro položky v úložišti dat. Například můžete umístit často přístupná pole do jednoho oddílu a méně často přístupná pole do jiného.

  • Při funkčním dělení se data dělí podle toho, jak se používají podle každého ohraničeného kontextu v systému. Například data faktury můžete ukládat do jednoho oddílu a data inventáře produktů v jiném oddílu. Schémata jsou nezávislá.

Další informace najdete v tématu Dělení dat.

Doporučení

Rozdělte různé části aplikace. Databáze jsou jedním zjevných kandidátů pro dělení, ale také zvažují úložiště, mezipaměť, fronty a výpočetní instance.

Navrhněte klíč oddílu, aby se zabránilo hotspotům. Pokud rozdělíte databázi, ale jeden horizontální oddíl stále získává většinu požadavků, pak jste problém nevyřešili. V ideálním případě se zatížení rovnoměrně distribuuje napříč všemi oddíly. Například hash podle ID zákazníka a nikoli prvního písmena jména zákazníka, protože některé písmena jsou častější. Stejný princip platí při dělení fronty zpráv. Vyberte klíč oddílu, který vede k rovnoměrné distribuci zpráv napříč sadou front. Další informace najdete v tématu Sharding.

Strukturujte podle předplatného Azure a limitů služeb. Jednotlivé komponenty a služby mají omezení, ale existují také omezení pro předplatná a skupiny prostředků. U velmi velkých aplikací možná budete muset tyto limity rozdělit na oddíly.

Rozdělení na různých úrovních. Zvažte databázový server nasazený na virtuálním počítači. Virtuální počítač má virtuální pevný disk, který je podporovaný službou Azure Storage. Účet úložiště patří do předplatného Azure. Všimněte si, že každý krok v hierarchii má omezení. Databázový server může mít limit fondu připojení. Virtuální počítače mají omezení procesoru a sítě. Úložiště má limity IOPS. Předplatné má omezení počtu jader virtuálních počítačů. Obecně je jednodušší rozdělit oddíly v hierarchii dolů. Na úrovni předplatného by měly být potřeba rozdělit jenom velké aplikace.