Hyppää sisältöön
    • Suomeksi
    • På svenska
    • In English
  • Suomeksi
  • In English
  • Kirjaudu
Näytä aineisto 
  •   Etusivu
  • LUTPub
  • Diplomityöt ja Pro gradu -tutkielmat
  • Näytä aineisto
  •   Etusivu
  • LUTPub
  • Diplomityöt ja Pro gradu -tutkielmat
  • Näytä aineisto
JavaScript is disabled for your browser. Some features of this site may not work without it.

Design and maintainability trade-offs in event-driven microservices : evaluating Dapr publish-subscribe

Lamberg, Pyry (2025)

Katso/Avaa
mastersthesis_lamberg_pyry.pdf (1.430Mb)
Lataukset: 


Diplomityö

Lamberg, Pyry
2025

School of Engineering Science, Tietotekniikka

Kaikki oikeudet pidätetään.
Näytä kaikki kuvailutiedot
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi-fe2025081282229

Tiivistelmä

The idea of using reusable components in software engineering is well established and has evolved into microservices architecture, which implements the idea with small and independently deployable services. These independent services are often required to transfer information between multiple services to fulfil wider business requirements, creating a tight coupling between the services. Event-driven architecture addresses this issue by handling the communication primarily through asynchronous event-based messaging between services using a message broker. While event-driven architecture reduces service-to-service coupling, it introduces tight coupling between service and the broker. It requires each service to implement broker specific code across the whole system, increasing system complexity and maintenance efforts.

This thesis executes design science research methodology to develop and evaluate a microservice system that abstracts broker specific functionality into a Dapr sidecar. A baseline system with direct broker integration is compared against the Dapr-based variant in order to find out software maintainability, flexibility, and performance trade-offs.

As a result, this study demonstrates that by abstracting common functionality from microservices to a sidecar, software maintainability and flexibility is improved with the cost of performance. Future research should be done to further examine the impact of sidecars.
 
Ajatus uudelleenkäytettävien komponenttien hyödyntämisestä ohjelmistotuotannossa on vakiintunut käytäntö, joka on kehittynyt mikropalveluarkkitehtuuriksi. Mikropalveluarkkitehtuuri koostuu pienistä, itsenäisesti julkaistavista palveluista, jotka yhdessä täyttävät liiketoimintavaatimuksia. Tällöin voi syntyä tiukkoja kytkentöjä palveluiden välille laajempien vaatimusten toteuttamiseksi. Tapahtumapohjainen arkkitehtuuri pyrkii ratkaisemaan ongelman palveluiden välisessä tiukassa kytkennässä hyödyntämällä asynkronista tapahtumapohjaista viestittelyä palveluiden välillä käyttäen viestinvälityspalvelinta. Tapahtumapohjainen arkkitehtuuri vähentää palveluiden välistä tiukkaa kytkentää, mutta samalla se tuo tiukan riippuvuuden palveluiden ja viestinvälityspalvelimen välille. Tapahtumapohjaisessa mikropalveluarkkitehtuurissa jokaisen palvelun on toteutettava koodia, joka on suoraan riippuvainen käytetystä viestinvälityspalvelimesta, mikä puolestaan kasvattaa järjestelmän monimutkaisuutta sekä ylläpidosta aiheutuvaa kuormaa.

Tässä diplomityössä käytetään Design Science Research -metodologiaa mikropalveluarkkitehtuurin kehittämiseen ja arviointiin, jossa viestinvälitykseen liittyvä toiminnallisuus abstrahoidaan Dapr-sidecar-komponentteihin. Vertailukohteeksi kehitetään järjestelmä, jossa palvelut kommunikoivat suoraan viestinvälityspalvelimen kanssa. Arviointi tehdään vertailemalla palveluiden ylläpitoon, joustavuuteen ja suorituskykyyn liittyviä eroja.

Tulokset osoittavat, että siirtämällä viestinvälitykseen käytettävän toiminnallisuuden erillisiin Dapr-sidecar-komponentteihin voidaan parantaa koodin ylläpidettävyyttä ja arkkitehtuurin joustavuutta, tämä kuitenkin saavutetaan suorituskyvyn kustannuksella. Tulevaisuudessa yleisesti sidecar-arkkitehtuurin laajempaa vaikutusta tulisi tutkia.
 
Kokoelmat
  • Diplomityöt ja Pro gradu -tutkielmat [15324]
LUT-yliopisto
PL 20
53851 Lappeenranta
Ota yhteyttä | Tietosuoja | Saavutettavuusseloste
 

 

Tämä kokoelma

JulkaisuajatTekijätNimekkeetKoulutusohjelmaAvainsanatSyöttöajatYhteisöt ja kokoelmat

Omat tiedot

Kirjaudu sisäänRekisteröidy
LUT-yliopisto
PL 20
53851 Lappeenranta
Ota yhteyttä | Tietosuoja | Saavutettavuusseloste