- Azure for Architects
- Ritesh Modi
- 231字
- 2021-07-08 09:33:38
Throttling pattern
At times, there are applications that have very stringent--SLA requirements from performance and scalability perspective irrespective of a number of users consuming the service. In such circumstances, it is important to implement throttling patterns because they help in limiting the number of requests allowed to be executed. The load on applications cannot be predicted accurately for all circumstances. When the load on application spikes, throttling helps in reducing pressure on the servers and services by controlling the resource consumption.
This pattern should be used when meeting SLA is a priority for applications, to prevent some users to consume more resources than allocated, to optimize spikes and burst in demand, and to cost optimize the resource consumption. These are valid scenarios for applications built to be deployed on the cloud.
There can be multiple strategies used for throttling an application. The throttling strategy can reject newer requests once the threshold is crossed, or it can let the user know that the request is in the queue and will get an opportunity to be executed once the number of requests gets reduced.
The following diagram illustrates implementing throttling in a multi-tenant system where each tenant is allocated a fixed resource usage limit. Once they cross this limit, any additional demand for resources is constrained, thereby maintaining enough resources for other tenants.

- Instant Testing with CasperJS
- .NET之美:.NET關鍵技術深入解析
- Visual C++程序設計學習筆記
- Java應用與實戰
- Drupal 8 Blueprints
- 營銷數據科學:用R和Python進行預測分析的建模技術
- HTML5+CSS3網站設計基礎教程
- SQL基礎教程(視頻教學版)
- Oracle從入門到精通(第5版)
- Teaching with Google Classroom
- Solr Cookbook(Third Edition)
- Java高并發核心編程(卷1):NIO、Netty、Redis、ZooKeeper
- SpringBoot從零開始學(視頻教學版)
- Java EE 7 with GlassFish 4 Application Server
- PHP項目開發全程實錄(第4版)