In the thesis, we present a thorough analysis of the microservice architecture and the architectural pattern of Command and Query Responsibility Segregation (CQRS). The benefits, improvements, and challenges of applying the CQRS pattern in a microservice environment are presented in terms of added scalability, flexibility, and performance. The CQRS pattern offers a solution for data management in a distributed microservices environment and supports querying in event-driven architectures, such as event sourcing (ES). To support the implementation of the CQRS pattern in microservice architecture, an extension for the KumuluzEE framework for developing microservices was developed. The extension enables integration with the Axon framework for developing an application based on CQRS and ES patterns. The extension allows for easier configuration and use of needed components for implementing the CQRS pattern. The solution was used to develop a test application based on the CQRS pattern and microservice architecture. The test application was used for running the scalability test to gain insight into the ability of independent scaling of the read and write side. The results have shown that both sides can be successfully and independently scaled.
|