Go to file
Torma Kristóf 36b60752af
continuous-integration/drone/push Build is passing Details
use private members
2020-05-22 12:50:27 +02:00
gradle/wrapper initial commit 2020-05-22 02:40:51 +02:00
src/main/kotlin use private members 2020-05-22 12:50:27 +02:00
.drone.yml wrong repo 2020-05-22 03:29:28 +02:00
.gitignore remove tests 2020-05-22 02:42:39 +02:00
CommonStarling_102761_45.wav fix shadowjar 2020-05-22 03:16:53 +02:00
Dockerfile fix shadowjar 2020-05-22 03:16:53 +02:00
README.md add readme file 2020-05-22 12:44:38 +02:00
build.gradle.kts fix shadowjar 2020-05-22 03:16:53 +02:00
docker-compose.yml change name in docker cmd 2020-05-22 02:50:08 +02:00
gradle.properties initial commit 2020-05-22 02:40:51 +02:00
gradlew initial commit 2020-05-22 02:40:51 +02:00
gradlew.bat initial commit 2020-05-22 02:40:51 +02:00
settings.gradle.kts initial commit 2020-05-22 02:40:51 +02:00
test.py initial commit 2020-05-22 02:40:51 +02:00

README.md

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