Uz notikumiem balstītas arhitektūras pielietojums monolītveida sistēmās
Autor
Miesnieks, Mārtiņš
Co-author
Latvijas Universitāte. Eksakto zinātņu un tehnoloģiju fakultāte
Advisor
Kravcevs, Maksims
Datum
2025Metadata
Zur LanganzeigeZusammenfassung
Mikroservisu arhitektūra mūsdienās ir ieguvusi plašu popularitāti, taču ne visas sistēmas, kas to ievieš, var sagaidīt vienlīdz labus rezultātus. Tas var likt meklēt alternatīvus risinājumus, piemēram, palikt pie monolītveida sistēmas, taču ieviest tajā uz notikumiem balstītu arhitektūru. Darbā tika izpētīti uz notikumiem balstītas arhitektūras ieviešanas monolītveida sistēmā ieguvumi un trūkumi no sistēmas izstrādes un veiktspējas viedokļa. Izstrādes atšķirību un veiktspējas novērtēšanai tika ieviestas divas monolītveida sistēmas, no kurām viena izmanto uz notikumiem balstītu arhitektūru, un uz šīm sistēmām tika veikti slodzes testi. Iegūtie rezultāti parāda, ka sistēmas var uzrādīt atšķirīgus veiktspējas rādītājus atkarībā no testa veida, taču šī arhitektūra var sniegt sava veida veiktspējas uzlabojumus vienlaicīgi saglabājot monolītveida sistēmu. Piemēram, tā spēj apstrādāt lielāku apjomu paralēlu pieprasījumu taču var arī patērēt lielāku atmiņas apjomu un sarežģīt arhitektūru, tāpēc tās ieviešana ir jāizvērtē individuāli atkarībā no sistēmas. Nowadays microservice architecture has gained wide popularity, but not all systems that implement it can expect equally good results. This may lead to desire to search for alternative solutions, for example, staying with a monolithic system, but adding event-based architecture to it. The paper explored the benefits and drawbacks of implementing an event-based architecture in a monolithic system from the system development and performance point of view. To evaluate the differences in development and performance, two monolithic systems were implemented, one of which uses event-driven architecture, and load tests were performed on these systems. The results obtained show that systems can yield different performance results depending on the type of test performed, but this architecture can provide some performance improvements while maintaining a monolithic system. For example, it can handle a larger amount of parallel requests, but it may also consume more memory and complicate the architecture, so its implementation should be evaluated individually depending on the system.