Details

Razvoj mikrostoritvene aplikacije z ogrodjem Quarkus in s sporočilnim sistemom NATS JetStream
ID Auberšek, Matjaž (Author), ID Jurič, Branko Matjaž (Mentor) More about this mentor... This link opens in a new window

.pdfPDF - Presentation file, Download (814,03 KB)
MD5: 87CFA5D9BDA37FF3118DDCD96E9F2BAF

Abstract
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.

Language:Slovenian
Keywords:mikrostoritve, Quarkus, NATS JetStream, sporočilni sistem, asinhrona komunikacija, Java
Work type:Bachelor thesis/paper
Typology:2.11 - Undergraduate Thesis
Organization:FRI - Faculty of Computer and Information Science
Year:2026
PID:20.500.12556/RUL-187359 This link opens in a new window
COBISS.SI-ID:292438275 This link opens in a new window
Publication date in RUL:10.09.2026
Views:90
Downloads:14
Metadata:XML DC-XML DC-RDF
:
Copy citation
Share:Bookmark and Share

Secondary language

Language:English
Title:Development of a microservices application using the Quarkus framework and the NATS JetStream messaging system
Abstract:
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.

Keywords:microservices, Quarkus, NATS JetStream, messaging system, asynchronous communication, Java

Similar documents

Similar works from RUL:
Similar works from other Slovenian collections:

Back