WEB APPLICATION PERFORMANCE OPTIMIZATION WITH CQRS AND HORIZONTAL SCALING
DOI:
https://doi.org/10.35546/kntu2078-4481.2024.1.38Keywords:
scaling, replication, web-application, CQRS, databaseAbstract
In today's world, where speed, performance, and scalability are critical success factors, web application performance optimization is an integral part of the development process. With horizontal scaling and the CQRS (Command Query Responsibility Segregation) architecture, developers can achieve significant improvements in the performance and efficiency of their web applications. Optimizing work according to the criterion of maximum performance of web applications requires the search for innovative approaches that will allow to ensure fast and efficient access to data, processing of large volumes of data and information even with increasing load. Horizontal scaling of web applications allows you to distribute the load among many servers, which allows you to process more requests in parallel and maintain stable system performance. The CQRS architecture provides the ability to separate read and write operations, using optimized processing paths for each type of operation. It reduces the complexity of the system, makes it easier to expand and maintain, and allows the use of different technologies and tools for read and write operations. The application of horizontal scaling and CQRS architecture is relevant for the development point of view of modern web applications, which arise with the challenges of processing large volumes of data, rapid changes in user requirements, and ensuring high availability and performance. These approaches will make it possible to create scalable, efficient and easy-to-understand systems that meet the needs of modern web applications. This work considers the relevance of web application optimization using horizontal scaling and CQRS architecture. The main components of the CQRS architecture, the advantages and disadvantages of such an approach, and how to combine these approaches to achieve optimal performance and scalability are explored. Key factors of successful optimization and examples of implementation of these approaches in practical web projects will also be considered.
References
Беттс, Домінік та ін. «Дослідження CQRS і джерела подій: подорож до високої масштабованості, доступності та зручності обслуговування з Windows Azure». 2013.
Каббедійк, Яап, Слінгер Янсен і Сяак Брінккемпер. «Прикладне дослідження наслідків мінливості шаблону CQRS у програмному забезпеченні для онлайн-бізнесу». Матеріали 17-ї Європейської конференції з мов шаблонів програм. 2012 рік. https://doi.org/10.1145/2602928.2603078
Райкович, Петар, Драган Янкович і Александар Міленкович. «Використання шаблону CQRS для покращення продуктивності медичних інформаційних систем». Proc. 6-ї Балканської конференції з інформатики. 2013 рік.
О. Л. Ярош Р. М. Бабаков Методи оптимізації продуктивності веб-застосунків. URL: https://jait.donnu.edu.ua/article/view/13969
Оптимізація веб застосунків: лайфхаки та інструменти. [Електронний ресурс]. Режим доступу: https://dou.ua/forums/topic/43011/
Вертикальне та горизонтальне масштабування Вступні відомості про масштабованість баз даних під час хмарних обчислень. [Електронний ресурс] Режим доступу: https://azure.microsoft.com/en-us/resources/cloudcomputing-dictionary/scaling-out-vs-scaling-up
Marcelo R, IBM Redbook: The RS/6000 SP Inside Out. Bernard Woo, New York 1999. Р. 572.