Optimizacija performanci mikrousluga u programskom jeziku Java ; Microservice performance optimization in programming language Java

Saved in:
Bibliographic Details
Title: Optimizacija performanci mikrousluga u programskom jeziku Java ; Microservice performance optimization in programming language Java
Authors: Jurić, Luka
Contributors: Kušek, Mario
Publisher Information: Sveučilište u Zagrebu. Fakultet elektrotehnike i računarstva.
University of Zagreb. Faculty of Electrical Engineering and Computing.
Publication Year: 2020
Collection: Croatian Digital Theses Repository (National and University Library in Zagreb)
Subject Terms: Java, Spring Boot, Quarkus, GraalVM, MicroProfile, Gatling, VisualVM, just-in-time prevodilac, testiranje performanci, native slika, just-in-time compiler, performance testing, native image, TEHNIČKE ZNANOSTI. Računarstvo, TECHNICAL SCIENCES. Computing, TEHNIČKE ZNANOSTI. Elektrotehnika, TECHNICAL SCIENCES. Electrical Engineering
Description: Danas se sve više mrežnih aplikacija implementira arhitekturalnim stilom mikrousluga. Takve se aplikacije često izvršavaju u oblaku na infrastrukturi nekog od pružatelja IaaS usluge. S obzirom na to da se zakupljeni resursi plaćaju, važno ih je što efikasnije koristiti. Neke od tehnologija kojima se one mogu implementirati u Javi su radni okviri Spring Boot i Quarkus. Spring Boot puno je korišteniji radni okvir s duljom prošlošću i velikom bazom korisnika koji je vrlo dobro i detaljno dokumentiran. Quarkus se temelji na Javi EE, a zadovoljava standard MicroProfile. Uz ova dva radna okvira moguće je koristiti i GraalVM koji je implementacija Javina virtualnoga stroja i nudi dodatne optimizacije. Moguće ga je koristiti na razini virtualnoga stroja ili u obliku native slike. Native slika izvršna je datoteka koja za izvršavanje ne treba Javin virtualni stroj, a prikladna je za manje serverless aplikacije kod kojih je bitna brzina pokretanja. To se postiže ahead-of-time prevođenjem i odbacivanjem nedohvatljivoga koda. Na primjerima manjih i jednostavnih aplikacija testirane su performance različitih tehnologija korištenih za implementaciju i oblika pokretanja aplikacija. Za to su korišteni VisualVM - alat za praćenje performanci aplikacije i Gatling - alat za generiranje HTTP zahtjeva kojim se stvara opterećenje. Testirana je i mikrousluga RAP koja je dio symbIoTea za koju je ustanovljeno da je Spring Boot bolja opcija za implementaciju, a OpenJDK-ova distribucija JVM-a dala je bolje rezultate od GraalVM-ove distribucije. Ovisno o veličini aplikacije i arhitekturalnome stilu koji se koristi, neka je tehnologija prikladnija od drugih, a testiranje performanci može biti od velike pomoći pri odabiru virtualnoga stroja na kojem će se aplikacija izvršavati. ; More and more network applications are implemented using the microservice architectural style. Those applications are often ran in the cloud on the infrastructure of one of IaaS service providers. Since allocated resources are paid, it is important to use them as ...
Document Type: master thesis
File Description: application/pdf
Language: Croatian
Relation: https://zir.nsk.hr/islandora/object/fer:7956; https://urn.nsk.hr/urn:nbn:hr:168:340599; https://repozitorij.unizg.hr/islandora/object/fer:7956; https://repozitorij.unizg.hr/islandora/object/fer:7956/datastream/PDF
Availability: https://zir.nsk.hr/islandora/object/fer:7956
https://urn.nsk.hr/urn:nbn:hr:168:340599
https://repozitorij.unizg.hr/islandora/object/fer:7956
https://repozitorij.unizg.hr/islandora/object/fer:7956/datastream/PDF
Rights: http://rightsstatements.org/vocab/InC/1.0/ ; info:eu-repo/semantics/closedAccess
Accession Number: edsbas.B9BA18E8
Database: BASE
Description
Abstract:Danas se sve više mrežnih aplikacija implementira arhitekturalnim stilom mikrousluga. Takve se aplikacije često izvršavaju u oblaku na infrastrukturi nekog od pružatelja IaaS usluge. S obzirom na to da se zakupljeni resursi plaćaju, važno ih je što efikasnije koristiti. Neke od tehnologija kojima se one mogu implementirati u Javi su radni okviri Spring Boot i Quarkus. Spring Boot puno je korišteniji radni okvir s duljom prošlošću i velikom bazom korisnika koji je vrlo dobro i detaljno dokumentiran. Quarkus se temelji na Javi EE, a zadovoljava standard MicroProfile. Uz ova dva radna okvira moguće je koristiti i GraalVM koji je implementacija Javina virtualnoga stroja i nudi dodatne optimizacije. Moguće ga je koristiti na razini virtualnoga stroja ili u obliku native slike. Native slika izvršna je datoteka koja za izvršavanje ne treba Javin virtualni stroj, a prikladna je za manje serverless aplikacije kod kojih je bitna brzina pokretanja. To se postiže ahead-of-time prevođenjem i odbacivanjem nedohvatljivoga koda. Na primjerima manjih i jednostavnih aplikacija testirane su performance različitih tehnologija korištenih za implementaciju i oblika pokretanja aplikacija. Za to su korišteni VisualVM - alat za praćenje performanci aplikacije i Gatling - alat za generiranje HTTP zahtjeva kojim se stvara opterećenje. Testirana je i mikrousluga RAP koja je dio symbIoTea za koju je ustanovljeno da je Spring Boot bolja opcija za implementaciju, a OpenJDK-ova distribucija JVM-a dala je bolje rezultate od GraalVM-ove distribucije. Ovisno o veličini aplikacije i arhitekturalnome stilu koji se koristi, neka je tehnologija prikladnija od drugih, a testiranje performanci može biti od velike pomoći pri odabiru virtualnoga stroja na kojem će se aplikacija izvršavati. ; More and more network applications are implemented using the microservice architectural style. Those applications are often ran in the cloud on the infrastructure of one of IaaS service providers. Since allocated resources are paid, it is important to use them as ...