JHipster egy Microservice architektúrával
1. Bemutatkozás
Ebben az írásban egy érdekes példát fogunk felfedezni a JHipsterrel - egy egyszerű mikroszolgáltatási architektúra felépítésével. Bemutatjuk, hogyan lehet az összes szükséges darabot felépíteni és telepíteni, és végül egy teljes körű mikroszolgáltatási alkalmazást készítünk és futtatunk.
Ha Ön még nem ismeri a JHipster alkalmazást, kérjük, olvassa el a bevezető cikkünket, mielőtt továbblépne a projektgeneráló eszköz alapjainak megértéséhez.
2. Monolitikus vs. mikroszolgáltatás
Kezdeti cikkünkben bemutattuk, hogyan lehet egy viszonylag könnyen karbantartható monolit alkalmazást létrehozni és bootstrap-ot készíteni.
Mikroszolgáltatási rendszerünk viszont elkülöníti a kezelőfelületet a háttér hátterétől, amely viszont több kisebb alkalmazásra is felosztható, amelyek mindegyike a teljes alkalmazási tartomány egy részhalmazával foglalkozik. Természetesen, mint minden mikroszolgáltatási megvalósításnál, ez is megold néhány problémát, de bizonyos összetettséggel is jár, például az alkatrész-nyilvántartással és a biztonsággal.
A JHipster a mikroszolgáltatással kapcsolatos alkalmazások kezelésének legtöbb nehézségét olyan modern nyílt forráskódú eszközök segítségével oldja meg, mint a Netflix Eureka Server és a Hashicorp Consul.
Természetesen néhány szempontot figyelembe kell vennünk itt, például hogy mekkora vagy bonyolult a tartományunk, mennyire kritikus az alkalmazásunk és milyen szintű elérhetőségre van szükségünk stb. Ezeknek az eszközöknek a célja természetesen a lehetséges és könnyen kezelhető permutációk megvalósítása.
2.1. JHipster Microservice Components
Amikor a JHipsterrel egy Microservice architektúrán dolgozunk, legalább három különböző projektet kell felépítenünk és telepítenünk: egy JHipster Registry-t, egy Microservice Gateway-t és legalább egy Microservice-alkalmazást.
A JHipster Registry a mikroszolgáltatás architektúrájának elengedhetetlen része. Összeköti az összes többi komponenst, és lehetővé teszi számukra, hogy kommunikáljanak egymással.
A Microservice alkalmazás tartalmazza a háttér kódot. A futtatás után feltárja az érintett domain API-ját. A mikroszolgáltatás architektúrája számos mikroszolgáltatási alkalmazásból állhat, amelyek mindegyike tartalmaz néhány kapcsolódó entitást és üzleti szabályt.
És a Microservice Gateway rendelkezik az összes elülső (szögletes) kóddal, és a mikrotartó alkalmazások teljes csoportja által létrehozott API-t fogja használni:
3. Telepítés
A telepítési folyamat minden részletével kapcsolatban tekintse meg a JHipster bemutatkozó cikkét.
4. Mikroszolgáltatási projekt létrehozása
Most telepítsük a mikroszolgáltatási projektünk három alapvető összetevőjét.
4.1. A JHipster Registry telepítése
Mivel a JHipster Registry egy szokásos JHipster, ezért csak le kell töltenünk és futtatnunk kell. Nem kell módosítani:
git klón //github.com/jhipster/jhipster-registry cd jhipster-register && ./mvnw
Ez klónozza a jhipster-Iktató hivatal projektet a GitHub-tól, és indítsa el az alkalmazást. Miután sikeresen elindult, meglátogathatjuk a // localhost: 8761 / webhelyet, és bejelentkezhetünk a felhasználóval admin és jelszóval admin:
4.2. Microservice alkalmazás telepítése
Itt kezdjük el felépíteni a projektünk tényleges jellemzőit. Ebben a példában létrehozunk egy egyszerű Microservice alkalmazást, amely kezeli az autókat. Tehát először létrehozzuk az alkalmazást, majd hozzáadunk egy entitást:
# hozzon létre egy könyvtárat az alkalmazáshoz és CD-t hozzá mkdir car-app && cd car-app # futtassa a jhipster varázslót yo jhipster
Miután a varázsló elindult, kövessük az utasításokat egy Microservice típusú alkalmazás létrehozásához carapp. Néhány további releváns paraméter:
- kikötő: 8081
- csomag: com.car.app
- hitelesítés: JWT
- szolgáltatás felfedezése: JHipster Registry
A képernyőkép a következő lehetőségek teljes készletét mutatja:
Most hozzáadunk egy autó entitás az alkalmazásunkhoz:
# az entitás létrehozása varázslót futtatja: joyster: entitás autó
Elindul az entitás létrehozása varázsló. A. Nevű entitás létrehozásához kövessük az utasításokat autó három mezővel: készítsen, modell, és ár.
Miután ez elkészült, elkészült az első Microservice alkalmazásunk. Ha megnézzük a generált kódot, akkor észrevesszük, hogy nincs javascript, HTML, CSS vagy bármilyen elülső kód. Ezek mind elkészülnek, amikor a Microservice Gateway létrejön. Nézze meg a README fájlt is, ahol fontos információkat talál a projektről és a hasznos parancsokról.
A befejezéshez futtassuk az újonnan létrehozott komponensünket:
./mvnw
A fenti parancs futtatása előtt meg kell győződnünk arról, hogy a jhipster-nyilvántartás komponens működik és működik. Ellenkező esetben hibát kapunk.
Ha minden a tervek szerint haladt, akkor a mi autó-alkalmazás indulna, és a jhipster-nyilvántartás A naplóból kiderül, hogy az alkalmazást sikeresen regisztrálták:
CARAPP / carapp bejegyzett példány: 746e7525dffa737747dcdcee55ab43f8 UP állapotban (replikáció = igaz)
4.3. Microservice Gateway telepítése
Most az elülső bit. Létrehozunk egy Microservice Gateway-t, és jelezzük neki, hogy van egy entitásunk egy létező összetevőn, amelyhez létrehozni szeretnénk a kezelői kódot:
# Készítsen könyvtárat az átjáró alkalmazásunkhoz mkdir gateway-app && cd gateway-app # Futtatja a JHipster varázslót
Kövessük az utasításokat a Microservice gateway típusú alkalmazás létrehozásához. Megnevezzük az alkalmazást átjáró, és válassza a következő paramétereket a többi paraméterhez:
- port: 8080
- csomag: com.gateway
- auth: JWT
- szolgáltatás felfedezése: JHipster Registry
Itt található a teljes paraméterkészlet összefoglalása:
Térjünk át az entitás létrehozására:
# Futtatja az entitás létrehozásának varázslóját: joyster: entitás autó
Amikor megkérdezik, hogy létre akarunk-e hozni egy létező mikroszolgáltatásból, válassza a lehetőséget Igen, majd írja be a autó-alkalmazás gyökérkönyvtár (pl .: ../car-app). Végül, amikor megkérdezik, hogy frissíteni akarjuk-e az entitást, válassza a lehetőséget Igen, regenerálja az entitást.
JHipster megtalálja a Car.json fájl, amely a korábban létrehozott létező Microservice alkalmazás része, és a fájlban található metaadatokat felhasználva létrehozza az entitáshoz szükséges összes felhasználói felület kódot:
Megtalálta a .jhipster / Car.json konfigurációs fájlt, az entitás automatikusan létrehozható!
Ideje a gateway-app és tesztelje, hogy minden működik-e:
# Indítja az átjáró-alkalmazás komponenst ./mvnw
Most keressük meg a // localhost: 8080 / címet, és jelentkezzünk be a felhasználóval admin és jelszóval admin. A felső menüben látnunk kell egy elemet Autó ezzel eljutunk az autólista oldalára. Minden rendben!
4.4. Második mikroszolgáltatási alkalmazás létrehozása
Ezután tegyük tovább a rendszerünket egy lépéssel tovább és hozzon létre egy második összetevőt a Microservice Application típusból. Ez az új komponens kezeli az autókereskedőket, ezért felvesszük a kereskedő hozzá.
Hozzunk létre egy új könyvtárat, keresse meg azt és futtassa a yo jhipster parancs:
mkdir dealer-app && cd dealer-app yo jhipster
Ezt követően beírjuk dealerapp mint az alkalmazás nevét, és válassza a portot 8082 a futáshoz (kritikus fontosságú, hogy ez egy másik port legyen, mint azok, amelyeket a jhipster-Iktató hivatal és autó-alkalmazás).
A többi paraméterhez tetszőleges opciót választhatunk. Ne feledje, hogy ez egy külön mikrohelyzet, így más típusú adatbázisokat, gyorsítótár-stratégiát és teszteket használhat, mint a autó-alkalmazás összetevő.
Adjunk hozzá pár mezőt a mezőnkhöz kereskedő entitás. Például név és cím:
# Futtatja az entitás létrehozása varázslót: jhipster: entitás kereskedő
Nem szabad elfelejtenünk navigálni ide gateway-app és mondja meg, hogy hozza létre a kezelőfelület kódját a kereskedő entitás:
# Navigáljon az átjáró-alkalmazás gyökérkönyvtárához cd ../gateway-app # Futtatja az entitás létrehozása varázslót yo jhipster: entitás kereskedő
Végül fuss ./mvnw a kereskedő-alkalmazás gyökérkönyvtár az adott összetevő elindításához.
Ezután meglátogathatjuk az átjáró alkalmazásunkat a // localhost: 8080 címen, és frissíthetjük az oldalt, hogy megtekinthessük a Kereskedő entitás újonnan létrehozott menüpontját.
Mielőtt összefoglalnánk, nézzük meg a jhipster-nyilvántartás alkalmazás ismét a // localhost: 8761 / címen. Kattintson az Alkalmazások menüpontra annak ellenőrzéséhez, hogy mindhárom összetevőnket sikeresen azonosították és regisztrálták-e:
Ez az! Kifinomult architektúrát hoztunk létre, amely egy Gateway alkalmazásból áll, és az összes elülső kódot két mikroszolgáltatással pár perc alatt támogatják.
5. Következtetés
A Microservice Architecture projekt elindítása a JHipsterrel meglehetősen egyszerű; csak annyi Microservice alkalmazást kell létrehoznunk, amennyire szükségünk van, és egy Microservice Gateway-t, és készen állunk az indulásra.
A keretrendszert tovább tanulmányozhatja a hivatalos JHipster webhelyen.
Mint mindig, az autó-alkalmazás, a kereskedő-alkalmazás és az átjáró-alkalmazás kódbázisa is elérhető a GitHubon.