![]() You might use multiple storage technologies (polyglot persistence). (The diagram shows an Azure Storage queue.)Īzure Cache for Redis stores session state and other data that needs low latency access.Īzure CDN is used to cache static content such as images, CSS, or HTML.įor storage, choose the storage technologies that best fit the needs of the application. You can use either Azure Service Bus or Azure Storage queues for the message queue. The web app and the function app are both associated with an App Service plan that provides the VM instances. The front end is implemented as an Azure App Service web app, and the worker is implemented as an Azure Functions app. This section describes a recommended Web-Queue-Worker architecture that uses Azure App Service.ĭownload a Visio file of this architecture. Partition data to improve scalability, reduce contention, and optimize performance.Use polyglot persistence when appropriate.Expose a well-designed API to the client.There may be hidden dependencies, if the front end and worker share data schemas or code modules.Without careful design, the front end and the worker can become large, monolithic components that are difficult to maintain and update.The front end and the worker can be scaled independently.The front end is decoupled from the worker using asynchronous messaging.Relatively simple architecture that is easy to understand.When you want to use managed services, rather than infrastructure as a service (IaaS).Applications with some long-running workflows or batch operations.Applications with a relatively simple domain.The Web-Queue-Worker architecture is typically implemented using managed compute services, either Azure App Service or Azure Cloud Services. On the client side, the web API can be consumed by a single-page application that makes AJAX calls, or by a native client application. The front end might consist of a web API. If there are no long-running operations, the worker can be omitted. The worker can be triggered by messages on the queue, or run on a schedule for batch processing. ![]() Any long-running work is done asynchronously by the worker. Session state can be stored in a distributed cache. Often these features are provided by third parties. Remote services, such as email or SMS service.A cache to store values from the database for quick reads.Other components that are commonly incorporated into this architecture include: The web front end communicates with the worker through a message queue. The core components of this architecture are a web front end that serves client requests, and a worker that performs resource-intensive tasks, long-running workflows, or batch jobs. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |