Archívum - Okt 14, 2014 - Fórum téma
Microservice architektúrák
Sziasztok,
mostanában ismerkedek a microservice architektúrákkal,
egy minta projekten dolgozok, amin keresztül ki tudom tapasztalni, hogy
hogyan is kell egy ilyen rendszert felépíteni.
Jelenleg a rendszer, és a különböző szolgáltatások így néznek ki:
- frontend01 (egy PHP-ban írt webalkalmazás, a webes felület megjelenítéséért felel)
- dispatcher01 (RabbitMQ, az üzenetek kézbesítéséért felel a különböző szolgáltatások között)
- entity01 (MySQL, az adatok tárolásáért felel)
- search01 (Solr, az adatokban való keresésért felel)
- graph01 (Neo4j - gráf alapú adatbázis-kezelő, bizonyos adatok gráf formában történő tárolásáért felel pár speciálisabb lekérdezéshez)
- mail01 (Postfix, az emailek kézbesítéséért felel)
Ahogy látszik is, van egy webes frontend, ami a webes felületért, és a megjelenítéséért felel, ezt tudja nyomkodni
a rendszert igénybevevő felhasználó.
Van egy diszpécser, ami egy queue, ez felel a rendszeren belüli üzenetek kézbesítéséért, van egy relációs adatbázis,
ahol az adatokat tároljuk, egy kereső szerver a kereséshez, egy gráf alapú adatbázis-kezelő, itt
az adatok egy bizonyos részét tároljuk, és egy mail szerver az emailek kiküldéséhez.
Tegyük fel, hogy regisztrál egy felhasználó, a felületen, ekkor a következő lépéseknek kell végrehajtódnia:
- létrejön a relációs adatbázis-kezelőben egy sor
- bekerül a kereső szerver indexébe a felhasználó
- bekerül a gráf adatbázis-kezelőbe egy csomópontként a felhasználó
- kiküldésre kerül egy megerősítő email a felhasználónak
- visszajelzünk a felhasználónak a frontend-en, hogy sikeresen regisztrált
Ha egy hagyományos alkalmazásban gondolkodunk, akkor ezeket a lépéseket a PHP script egymás után hajtja végre,
ami egy ilyen művelet esetén sok időt is igénybevehet ugye.
mostanában ismerkedek a microservice architektúrákkal,
egy minta projekten dolgozok, amin keresztül ki tudom tapasztalni, hogy
hogyan is kell egy ilyen rendszert felépíteni.
Jelenleg a rendszer, és a különböző szolgáltatások így néznek ki:
- frontend01 (egy PHP-ban írt webalkalmazás, a webes felület megjelenítéséért felel)
- dispatcher01 (RabbitMQ, az üzenetek kézbesítéséért felel a különböző szolgáltatások között)
- entity01 (MySQL, az adatok tárolásáért felel)
- search01 (Solr, az adatokban való keresésért felel)
- graph01 (Neo4j - gráf alapú adatbázis-kezelő, bizonyos adatok gráf formában történő tárolásáért felel pár speciálisabb lekérdezéshez)
- mail01 (Postfix, az emailek kézbesítéséért felel)
Ahogy látszik is, van egy webes frontend, ami a webes felületért, és a megjelenítéséért felel, ezt tudja nyomkodni
a rendszert igénybevevő felhasználó.
Van egy diszpécser, ami egy queue, ez felel a rendszeren belüli üzenetek kézbesítéséért, van egy relációs adatbázis,
ahol az adatokat tároljuk, egy kereső szerver a kereséshez, egy gráf alapú adatbázis-kezelő, itt
az adatok egy bizonyos részét tároljuk, és egy mail szerver az emailek kiküldéséhez.
Tegyük fel, hogy regisztrál egy felhasználó, a felületen, ekkor a következő lépéseknek kell végrehajtódnia:
- létrejön a relációs adatbázis-kezelőben egy sor
- bekerül a kereső szerver indexébe a felhasználó
- bekerül a gráf adatbázis-kezelőbe egy csomópontként a felhasználó
- kiküldésre kerül egy megerősítő email a felhasználónak
- visszajelzünk a felhasználónak a frontend-en, hogy sikeresen regisztrált
Ha egy hagyományos alkalmazásban gondolkodunk, akkor ezeket a lépéseket a PHP script egymás után hajtja végre,
ami egy ilyen művelet esetén sok időt is igénybevehet ugye.
good bye...
Srácok, köszi az eddigieket, én most kiszálltam. Remélhetőleg végleg. Jó volt, szép volt, az egyetlen fórum, ami viszonylag mentes volt a flame-től.
Szóval köszi.
Ádám! Ha megtennéd, hogy törlöd is a nickem, az jó lenne...
■ Szóval köszi.
Ádám! Ha megtennéd, hogy törlöd is a nickem, az jó lenne...