Prestatie- en schaalbaarheidspatronenPerformance and Scalability patterns

Prestaties verwijst naar de mogelijkheid van een systeem om iedere actie binnen een bepaald tijdsinterval uit te voeren, terwijl schaalbaarheid verwijst naar de mogelijkheid van een systeem om de toename van de werkbelasting op te vangen zonder dat dit gevolgen heeft voor de prestaties of om de beschikbare resources direct uit te breiden.Performance is an indication of the responsiveness of a system to execute any action within a given time interval, while scalability is ability of a system either to handle increases in load without impact on performance or for the available resources to be readily increased. Cloudtoepassingen krijgen meestal te maken met wisselende werkbelastingen en pieken in de activiteit.Cloud applications typically encounter variable workloads and peaks in activity. Om hier een voorspelling op los te laten, zeker in een scenario met meerdere tenants, is vrijwel onmogelijk.Predicting these, especially in a multi-tenant scenario, is almost impossible. Toepassingen moeten daarom binnen een afgebakend kader kunnen uitschalen om pieken in de vraag op te vangen en inschalen als de vraag afneemt.Instead, applications should be able to scale out within limits to meet peaks in demand, and scale in when demand decreases. Rekenprocessen zijn niet het enige probleem als het gaat om schaalbaarheid. Het is ook belangrijk om te kijken naar andere elementen, zoals gegevensopslag en de infrastructuur voor berichtenuitwisseling.Scalability concerns not just compute instances, but other elements such as data storage, messaging infrastructure, and more.

PatroonPattern SamenvattingSummary
Cache-AsideCache-Aside Gegevens op verzoek in een cache laden vanuit een gegevensarchief.Load data on demand into a cache from a data store
CQRSCQRS Bewerkingen die gegevens lezen scheiden van bewerkingen die gegevens bijwerken met behulp van afzonderlijke interfaces.Segregate operations that read data from operations that update data by using separate interfaces.
GebeurtenisbronnenEvent Sourcing Een archief gebruiken waaraan alleen gegevens kunnen worden toegevoegd om de volledige reeks gebeurtenissen vast te leggen die de acties beschrijven die op gegevens in een domein worden uitgevoerd.Use an append-only store to record the full series of events that describe actions taken on data in a domain.
IndextabelIndex Table Indexen maken van de velden in gegevensarchieven waarnaar vaak wordt verwezen door query's.Create indexes over the fields in data stores that are frequently referenced by queries.
Gerealiseerde weergaveMaterialized View Vooraf ingevulde weergaven met de gegevens uit een of meer gegevensarchieven genereren wanneer de gegevens niet perfect zijn opgemaakt voor vereiste querybewerkingen.Generate prepopulated views over the data in one or more data stores when the data isn't ideally formatted for required query operations.
Wachtrij met prioriteitPriority Queue Prioriteit geven aan aanvragen die worden verzonden naar services, zodat aanvragen met een hogere prioriteit sneller worden ontvangen en verwerkt dan aanvragen met een lagere prioriteit.Prioritize requests sent to services so that requests with a higher priority are received and processed more quickly than those with a lower priority.
Load Leveling op basis van wachtrijQueue-Based Load Leveling Een wachtrij gebruiken die fungeert als een buffer tussen een taak en een service die wordt aangeroepen om onregelmatige zware belastingen soepel te verwerken.Use a queue that acts as a buffer between a task and a service that it invokes in order to smooth intermittent heavy loads.
ShardingSharding Een gegevensarchief onderverdelen in een set met horizontale partities of shards.Divide a data store into a set of horizontal partitions or shards.
Hosting van statische inhoudStatic Content Hosting Statische inhoud implementeren naar een opslagservice in de cloud die de inhoud rechtstreeks aan de client kan leveren.Deploy static content to a cloud-based storage service that can deliver them directly to the client.
BeperkingThrottling Het verbruik beheren van resources die worden gebruikt door een exemplaar van een toepassing, een afzonderlijke tenant of een hele service.Control the consumption of resources used by an instance of an application, an individual tenant, or an entire service.