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.


$config[zx-auto] not found$config[zx-overlay] not found