Lovelace messaging microservice
Yrjänäinen, Janne; Syrjäkoski, Joona (2023-05-17)
Yrjänäinen, Janne
Syrjäkoski, Joona
J. Yrjänäinen; J. Syrjäkoski
17.05.2023
© 2023 Janne Yrjänäinen, Joona Syrjäkoski. Ellei toisin mainita, uudelleenkäyttö on sallittu Creative Commons Attribution 4.0 International (CC-BY 4.0) -lisenssillä (https://creativecommons.org/licenses/by/4.0/). Uudelleenkäyttö on sallittua edellyttäen, että lähde mainitaan asianmukaisesti ja mahdolliset muutokset merkitään. Sellaisten osien käyttö tai jäljentäminen, jotka eivät ole tekijän tai tekijöiden omaisuutta, saattaa edellyttää lupaa suoraan asianomaisilta oikeudenhaltijoilta.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:oulu-202305171823
https://urn.fi/URN:NBN:fi:oulu-202305171823
Tiivistelmä
Microservices have attracted a lot of interest in recent years. The central idea behind microservices is to divide an application into small independent services that communicate with each other through interfaces. The use of cloud computing and container technologies has accelerated the adoption of microservices.
One of the main advantages of microservices is their scalability: a single service can be easily scaled to meet its needs and the failure of one component does not affect the rest of the system. Microservices also allow for easier service development, deployment, maintenance, and flexibility that was not previously possible with a monolithic architecture.
This thesis provides the design and implementation of a messaging microservice for Lovelace. Lovelace is a web-based learning environment used at the University of Oulu, dedicated to programming and related studies. Among other things, Lovelace provides tools for creating course assignments that can be automatically graded. There are some problems with Lovelace’s current messaging via email. This work aims to solve those problems and provide an alternative solution to replace email.
The thesis includes instructions on how to deploy the service. It starts with an overview of the microservice architecture, followed by the design and implementation of the microservice. It also covers the testing of the microservice. The aim is to provide a starting point for building a messaging microservice. Mikropalvelut ovat herättäneet paljon kiinnostusta viime aikoina. Keskeinen ajatus mikropalveluiden taustalla on jakaa sovellus pieniin itsenäisiin palveluihin, jotka kommunikoivat keskenään rajapintojen kautta. Pilvilaskennan ja konttiteknologioiden käyttö on kiihdyttänyt mikropalvelujen käyttöönottoa.
Mikropalveluiden yksi suurimmista eduista on skaalautuvuus. Yksittäistä palvelua on helppo skaalata sen tarpeiden mukaan ja yhden komponentin vikaantuminen ei vaikuta muuhun järjestelmään. Mikropalvelut mahdollistavat myös helpomman palvelun kehityksen, käyttöönoton, ylläpidon sekä joustavuuden, jota ei ollut aiemmin mahdollista saavuttaa monoliittisella arkkitehtuurilla.
Tämä kandidaatintutkielma tarjoaa suunnitelman ja toteutuksen viestivälitysmikropalvelulle Lovelace-oppimisympäristöä varten. Lovelace on Oulun yliopistossa käytetty verkkopohjainen oppimisympäristö, joka on tarkoitettu ohjelmoinnille ja siihen liittyville opinnoille. Lovelace tarjoaa muun muassa työkaluja automaattisesti arvioitavien kurssiharjoitustöiden luomiseen. Lovelacen nykyinen viestinvälitys tapahtuu sähköpostitse, jossa on joitakin ongelmia. Tämän tutkielman tarkoituksena on ratkaista nuo ongelmat ja tarjota vaihtoehtoinen ratkaisu sähköpostiviestien tilalle.
Tutkielma sisältää ohjeet palvelun käyttöönottamisesta. Alussa on yleiskatsaus mikropalvelinarkkitehtuurista, jonka jälkeen käydään läpi mikropalvelun suunnittelun ja toteutuksen. Tutkielmassa käsitellään myös palvelun testausta. Tarkoituksena on tarjota lähtökohta viestivälitysmikropalvelun rakentamiselle.
One of the main advantages of microservices is their scalability: a single service can be easily scaled to meet its needs and the failure of one component does not affect the rest of the system. Microservices also allow for easier service development, deployment, maintenance, and flexibility that was not previously possible with a monolithic architecture.
This thesis provides the design and implementation of a messaging microservice for Lovelace. Lovelace is a web-based learning environment used at the University of Oulu, dedicated to programming and related studies. Among other things, Lovelace provides tools for creating course assignments that can be automatically graded. There are some problems with Lovelace’s current messaging via email. This work aims to solve those problems and provide an alternative solution to replace email.
The thesis includes instructions on how to deploy the service. It starts with an overview of the microservice architecture, followed by the design and implementation of the microservice. It also covers the testing of the microservice. The aim is to provide a starting point for building a messaging microservice.
Mikropalveluiden yksi suurimmista eduista on skaalautuvuus. Yksittäistä palvelua on helppo skaalata sen tarpeiden mukaan ja yhden komponentin vikaantuminen ei vaikuta muuhun järjestelmään. Mikropalvelut mahdollistavat myös helpomman palvelun kehityksen, käyttöönoton, ylläpidon sekä joustavuuden, jota ei ollut aiemmin mahdollista saavuttaa monoliittisella arkkitehtuurilla.
Tämä kandidaatintutkielma tarjoaa suunnitelman ja toteutuksen viestivälitysmikropalvelulle Lovelace-oppimisympäristöä varten. Lovelace on Oulun yliopistossa käytetty verkkopohjainen oppimisympäristö, joka on tarkoitettu ohjelmoinnille ja siihen liittyville opinnoille. Lovelace tarjoaa muun muassa työkaluja automaattisesti arvioitavien kurssiharjoitustöiden luomiseen. Lovelacen nykyinen viestinvälitys tapahtuu sähköpostitse, jossa on joitakin ongelmia. Tämän tutkielman tarkoituksena on ratkaista nuo ongelmat ja tarjota vaihtoehtoinen ratkaisu sähköpostiviestien tilalle.
Tutkielma sisältää ohjeet palvelun käyttöönottamisesta. Alussa on yleiskatsaus mikropalvelinarkkitehtuurista, jonka jälkeen käydään läpi mikropalvelun suunnittelun ja toteutuksen. Tutkielmassa käsitellään myös palvelun testausta. Tarkoituksena on tarjota lähtökohta viestivälitysmikropalvelun rakentamiselle.
Kokoelmat
- Avoin saatavuus [32026]