16 lines
1.8 KiB
Markdown
16 lines
1.8 KiB
Markdown
|
# 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.
|