messagequeue-glue/README.md

16 lines
1.8 KiB
Markdown
Raw Normal View History

2020-05-22 12:44:38 +02:00
# 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.