# Kotlin-alapú mikroszolgáltatás rendszer Az általam elkészített házi feladat egy teljesen Kotlinban készült mikroszolgáltatás alapú rendszer. Szerettem volna kipróbálni egy elkészült rendszert milyen egyszerű Kotlinban újraimplementálni. Emiatt az [itt](https://xwiki.kmlabz.com/bin/view/Projektek/Birbnetes%20Projekt/Rendszerszint%C5%B1%20architekt%C3%BAra%20terv/) található architektúra két mikroszolgáltatását valósítottam meg, valamint a kettő között található rendszert egy egyszerű mockoló komponensel helyettesítettem. # Input Service Képes állományok fogadására, valamint azokról metaadatok letárolására. Amint ez sikeresen megtörtént, message queue-n küld értesítést a feldolgozó egység felé. Letárolja a beérkezett fájlokat, de fontos, hogy ezek kiszolgálását végző microservice nem része a kísérleti rendszernek! Lekérdezhető tőle az egyes beküldött minták metaadatai és az összes ilyen adat is. # Message Queue Glue Fogadja az egyik queue-n érkező adatokat, azok mesterséges intelligenciával történő feldolgozását. Az eredményt publikálja egy másik üzenetsoron. # Independent Results Service / Relational Output Service Az üzenetsoron kapott eredményeket letárolja relációs adatbázisban, ezek lekérdezhetők REST API segítségével. # A rendszer kipróbálása A teljes rendszer, minden függőségével elindítható Docker Compose segítségével. Előre elkészítettem egy docker-compose.yml állományt, ahol a teljes rendszer le lett írva. Ezt **docker-compose up** parancs segítségével lehet indítani. Állományok beküldésére az elkészített test.py Python scriptet ajánlom. A többi endpoint tetszőleges HTTP kliens segítségével próbálható. Az Input Service a 127.0.0.1:8080, míg az Independent Results Service a 127.0.0.1:8081 címen érhető el.