Podrobno

Razvoj mikrostoritvene aplikacije z ogrodjem Quarkus in s sporočilnim sistemom NATS JetStream
ID Auberšek, Matjaž (Avtor), ID Jurič, Branko Matjaž (Mentor) Več o mentorju... Povezava se odpre v novem oknu

.pdfPDF - Predstavitvena datoteka, prenos (814,03 KB)
MD5: 87CFA5D9BDA37FF3118DDCD96E9F2BAF

Izvleček
V mikrostoritveni arhitekturi poslovni proces pogosto sega prek meja ene same storitve. Klic, ki je bil v enoviti aplikaciji navaden klic metode, tedaj postane omrežna komunikacija, s čimer se odpreta vprašanji zanesljivosti in usklajenosti podatkov. V diplomskem delu smo z ogrodjem Quarkus in sporočilnim sistemom NATS JetStream izdelali sistem za souporabo vozil, v katerem rezervacija spreminja stanje vozila v drugi storitvi. Storitve so podatkovno avtonomne in komunicirajo sinhrono prek vmesnikov REST ter asinhrono z dogodki. S poskusom smo preverili obnašanje sistema ob izpadu storitve, ki dogodke prevzema. Poskus je pokazal, da so bila po ponovnem zagonu obdelana vsa sporočila, vendar ne v vrstnem redu objave, zaradi česar je vozilo ostalo v napačnem stanju. Ugotovili smo, da porabnik, ki nastavlja absolutno ciljno stanje, sicer prenese podvojeno dostavo, ni pa neodvisen od vrstnega reda. Težavo smo odpravili tako, da v vozilo zapišemo doseženo stopnjo življenjskega cikla rezervacije; porabnik na tej podlagi prezgodnji dogodek zavrne in ga prepusti ponovni dostavi. Po popravku sistem konvergira v pravilno stanje tudi ob najbolj neugodnem zaporedju obdelave.

Jezik:Slovenski jezik
Ključne besede:mikrostoritve, Quarkus, NATS JetStream, sporočilni sistem, asinhrona komunikacija, Java
Vrsta gradiva:Diplomsko delo/naloga
Tipologija:2.11 - Diplomsko delo
Organizacija:FRI - Fakulteta za računalništvo in informatiko
Leto izida:2026
PID:20.500.12556/RUL-187359 Povezava se odpre v novem oknu
COBISS.SI-ID:292438275 Povezava se odpre v novem oknu
Datum objave v RUL:10.09.2026
Število ogledov:96
Število prenosov:14
Metapodatki:XML DC-XML DC-RDF
:
Kopiraj citat
Objavi na:Bookmark and Share

Sekundarni jezik

Jezik:Angleški jezik
Naslov:Development of a microservices application using the Quarkus framework and the NATS JetStream messaging system
Izvleček:
In a microservice architecture a business process often crosses the boundaries of a single service. What used to be a method call in a monolithic application becomes network communication, which raises questions of reliability and data consistency. This thesis presents a car sharing system built with the Quarkus framework and the NATS JetStream messaging system, in which a booking changes the state of a vehicle owned by another service. The services are data autonomous and communicate both synchronously over REST interfaces and asynchronously through events. We tested the system’s behaviour while the consuming service was down. The experiment showed that all messages were processed after the restart, but not in the order in which they had been published, leaving the vehicle in an incorrect state. We found that a consumer setting an absolute target state tolerates duplicate delivery but is not independent of ordering. We addressed this by recording the booking lifecycle stage reached so far, on the basis of which a consumer rejects a premature event and leaves it to redelivery. After the fix the system converges to the correct state even under the least favourable processing order.

Ključne besede:microservices, Quarkus, NATS JetStream, messaging system, asynchronous communication, Java

Podobna dela

Podobna dela v RUL:
Podobna dela v drugih slovenskih zbirkah:

Nazaj