On the impact of event-driven architecture on performance: an exploratory study

Status:: 🟩
Links:: Microservices vs. Monolith

Metadata

Authors:: Cabane, Hebert; Farias, Kleinner
Title:: On the impact of event-driven architecture on performance: an exploratory study
Publication Title:: "Future Generation Computer Systems"
Date:: 2024
URL:: https://www.sciencedirect.com/science/article/pii/S0167739X23003977
DOI:: 10.1016/j.future.2023.10.021

Notes & Annotations

Color-coded highlighting system used for annotations

πŸ“‘ Annotations (imported on 2024-05-15#18:18:06)

cabane.farias.2024.impactevent-drivenarchitectureperformance (pg. 1)

Urdangarin et al. [5] investigate the use of multi-objective and context-based decomposition techniques. Schipor et al. [6] carried out an empirical study using event-driven architecture in intelligent environment applications. Laigner et al. [4] present the obtained results during the decomposition of a monolithic big data application into an event-driven application. Tragatschnig et al. [7] carried out an empirical study to evaluate the use of change patterns in the development of event-driven applications. Djogic et al. [8] presented the benefits of rebuilding a monolithic application into an event-driven application. Bukhshet al. [9] carried out a comparison through literature studies between service-oriented and event-driven architectures. Pienwittayasakul and Liu [10] presented the benefits of using event-driven architecture over service-oriented architecture.

cabane.farias.2024.impactevent-drivenarchitectureperformance (pg. 17)

The take-home message of this study is that while event-driven architecture has many benefits, including scalability and flexibility, its adoption may come at a performance cost. The empirical study conducted in this research demonstrated that monolithic architecture outperforms event-driven architecture in terms of RAM usage, response time, and throughput, while the event-driven architecture presented better results for CPU usage and total packages transmitted and received. These findings suggest that developers should carefully consider the trade-offs between different software architectures when designing systems, taking into account the specific requirements, key design features, and constraints of their applications at hand.