Hyppää sisältöön
    • Suomeksi
    • In English
Trepo
  • Suomeksi
  • In English
  • Kirjaudu
Näytä viite 
  •   Etusivu
  • Trepo
  • Opinnäytteet - ylempi korkeakoulututkinto
  • Näytä viite
  •   Etusivu
  • Trepo
  • Opinnäytteet - ylempi korkeakoulututkinto
  • Näytä viite
JavaScript is disabled for your browser. Some features of this site may not work without it.

Spring Boot- ja Quarkus-sovelluskehyksien vertailu Camel-integraatioiden ajamiseen Kubernetes-klusterissa

Holja, Hannes (2023)

 
Avaa tiedosto
HoljaHannes.pdf (1.270Mt)
Lataukset: 



Holja, Hannes
2023

Tietojenkäsittelyopin maisteriohjelma - Master's Programme in Computer Science
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2023-05-24
Näytä kaikki kuvailutiedot
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202304254429
Tiivistelmä
Tässä tutkielmassa selvitetään Quarkus-kehyksen sopivuutta Camel-integraatioiden ajamiseen Docker-konteissa. Apache Camel on Javalla toteutettu integraatiokehys ja Camel Quarkus on sen konversio Quarkukselle. Ongelmana on ollut ajaa integraatioiden eri osia Docker-kontitettuina mikropalveluina, koska Java-pohjaiset ohjelmat tyypillisesti käyttävät melko paljon muistia.
Tutkielman ensimmäisessä osassa esitellään mikropalveluarkkitehtuuria, kontitusta, Kuberne-testa ja tapoja toteuttaa mikropalveluarkkitehtuuria Javalla. Lisäksi esitellään Spring ja Spring Boot. Spring Boot on erittäin käytetty Java-kehys ja voidaan nähdä de facto kehyksenä myös mikropalveluille Javalla. Tämän jälkeen esitellään Oraclen GraalVM-projektia, joka mahdollistaa esimerkiksi Java-tavukoodin kääntämisen natiiviajotiedostoksi, joka käyttää vähemmän muistia ja käynnistyy nopeammin. GraalVM:n tulisi tuoda helpotusta Java-ohjelmien toteutukseen mikropalveluina. Quarkus on Java-kehys, joka pyrkii helpottamaan Javan käyttöä uusien ohjelmis-tokehitystrendien käytössä, kuten kontti ja Kubernetes. Toisin kuin monet muut Java-kehykset, Quarkus pyrkii tekemään mahdollisimman paljon prosessointia jo koontikäännösvaiheessa, tavoitteena parantaa ohjelmien käynnistysaikaa ja resurssienkäyttöä. Quarkus hyödyntää GraalVM:n natiivikääntötyökalua ja helpottaa sen käytössä. Toisessa osassa esitellään järjes-telmäintegraatioiden teoriaa ja Apache Camel -kehystä.
Tutkielman lopussa esitellään Spring Boot ja Quarkus -kehyksen vertailu. Vertailussa on esitelty integraatioskenaario kuvitteelliselle verkkokaupalle. Integraatiot on toteutettu Camelilla ja niitä ajetaan Spring Bootin ja Quarkuksen päällä. Vertailussa on kolme pääkategoriaa: Spring Boot, Quarkus JVM ja Quarkus Native. Lisäksi katsotaan, miten nämä eri versiot käyttäytyvät, kun niille määritellään yhä tiukempia muistirajauksia. Vertailussa katsotaan muistinkäytön lisäksi käynnistysaikaa ja prosessorinkäyttöä.
Tulokset näyttävät, että Quarksen päällä ajettaessa testi-integraatiot käyttävät huomattavasti vähemmän muistia ja käynnistyvät nopeammin kuin Spring Bootin päällä. Varsinkin Quarkus-projektin omalla GraalVM-distribuutio Mandrelilla natiivikuviksi käännetyt integraatiot ovat nopeita käynnistymään ja vaativat vähemmän palvelinresursseja.
Kokoelmat
  • Opinnäytteet - ylempi korkeakoulututkinto [42011]
Kalevantie 5
PL 617
33014 Tampereen yliopisto
oa[@]tuni.fi | Tietosuoja | Saavutettavuusseloste
 

 

Selaa kokoelmaa

TekijätNimekkeetTiedekunta (2019 -)Tiedekunta (- 2018)Tutkinto-ohjelmat ja opintosuunnatAvainsanatJulkaisuajatKokoelmat

Omat tiedot

Kirjaudu sisäänRekisteröidy
Kalevantie 5
PL 617
33014 Tampereen yliopisto
oa[@]tuni.fi | Tietosuoja | Saavutettavuusseloste