Alapszintű szolgáltatás beállítása

Befejeződött

Mivel a natív felhőalkalmazások nem igényelnek egy adott technológia kiválasztását az egyes összetevőkhöz, a megvalósítás részleteit az Ön igényeire alapozhatja. Emellett számos felhőalapú ajánlat, például az Azure Database for PostgreSQL lehetővé teszi, hogy ugyanazokat a nyílt forráskódú technológiákat használja, amelyeket ön is ismer. Emellett a mögöttes platform használatával minimalizálják a használatukkal járó adminisztratív többletterhelést.

Ezeket az előnyöket a megoldás létrehozásakor fogja használni. Első lépésként egy Express.js-alapú webszolgáltatást fog implementálni REST API-útvonalakkal, amelyek hozzáférést biztosítanak az újonnan üzembe helyezett PostgreSQL-adatbázishoz.

Mik a moduláris kialakítás előnyei?

A szolgáltatási modell modularizációs elve nagy mértékben elválasztja az egyes szolgáltatásokat. Egymástól függetlenül frissítheti, telepítheti, méretezheti és újraindíthatja az egyes szolgáltatásokat anélkül, hogy befolyásolná más szolgáltatások rendelkezésre állását vagy teljesítményét. Ez viszont elősegíti a DevOps-gyakorlatok alkalmazását az alkalmazások életciklusára. Az eredmény gyorsított új funkciókiadások, amelyeket kis, gyakori és növekményes változások is elősegítenek.

A szolgáltatások laza összekapcsolása lehetővé teszi a mögöttes technológia módosítását anélkül, hogy jelentős kódátírásokat kényszerítenél a teljes alkalmazásra. Az Express.js háttérszolgáltatás például tárolóba helyezhető és üzembe helyezhető egy Kubernetes-fürtön, lehetővé téve a dinamikus skálázást igény szerint. Egy másik lehetőség, hogy tárolóalapú vagy kódalapú Azure-alkalmazás Service-webalkalmazásként helyezi üzembe, amely szintén támogatja az automatikus skálázást.

Hasonlóképpen módosíthatja a háttérszolgáltatást úgy is, hogy egy másik, tetszőleges adatbázishoz csatlakozzon, és valószínűleg ugyanarra a kódtárkészletre támaszkodik. A Node.js-sel elérhető leggyakoribb objektum-relációs leképező kódtárak, például a Prisma vagy a Sequelize, számos relációsadatbázis-terméket támogatnak. Ezek közé tartozik a PostgreSQL, a MariaDB és a Microsoft SQL Server.

A moduláris kialakítás másik előnye a bővíthetőség. Hozzáadhat egy másik összetevőt, például egy Next.js-webalkalmazással elérhető felügyeleti szolgáltatást, és a meglévő alkalmazás jelentős módosítása nélkül tárolózhatja azt.

The high-level architecture of the sample basic service.

Hogyan implementálhat egy alapszintű szolgáltatást?

A szolgáltatások létrehozásának és optimalizálásának alapjául gyakran szolgáló két architektúraminta a tartományalapú tervezés (DDD) és a parancs- és lekérdezésfelelősségi elkülönítés (CQRS). Ezek a minták a natív felhőbeli alkalmazások modellezését is befolyásolják.

A DDD egy szoftverfejlesztési megközelítés, amely az alkalmazás funkcióira összpontosít a szolgáltatások közötti határok meghatározásához. A CQRS-t gyakran kombinálják a DDD-vel. Célja a hagyományos létrehozási, olvasási, frissítési és törlési (CRUD)-alapú megközelítés lecserélése, amely egyetlen felületre támaszkodik az összes adatkezelési feladathoz. Ehelyett a CQRS különválasztja az adattár olvasási és frissítési műveleteit. Ez egy másik elkülönítési réteget biztosít, amely igazodik a DDD mögötti helyhez.

Az Ön célja, hogy módosítsa a meglévő Express.js-alapú webszolgáltatást, hogy hozzáférést biztosítson egy PostgreSQL-adatbázishoz. Az Express.js egy nyílt forráskódú, háttérbeli webalkalmazás-keretrendszer a Node.js-hez. Egyszerűbbé teszi a webalkalmazások és API-k létrehozását. A Node.js egy JavaScript-futtatókörnyezeti motor ügyfél- és kiszolgálóalkalmazások létrehozásához. Az Express.js modulalapú architektúrával rendelkezik, amely leegyszerűsíti a feladatok széles körének megvalósítását. Ezek közé tartozik a hagyományos webfejlesztés és az olyan adatbázisok elérése, mint a MongoDB és a PostgreSQL.

Több módszerrel is elérheti a PostgreSQL-adatbázist az Express.js-alkalmazásokból. A legnépszerűbb módszerek közé tartozik az objektum-relációs leképező kódtárak használata, amelyek programozott szerkezeteket képeznek le a megfelelő adatbázissé. Ez a megközelítés megkönnyíti a hordozhatóságot, és absztrakciós réteget biztosít a tényleges adatbázis-objektumok és azok szolgáltatásalapú ábrázolása között.

Az Express.js-alkalmazás által implementált metódusok útvonalakon keresztül jelennek meg, amelyek meghatározzák, hogy az alkalmazás végpontjai hogyan válaszolnak az ügyfélkérésekre. Implementálásuk során érdemes megfontolni a CQRS alapelveinek alkalmazását, bár ez az alapszintű szolgáltatásokra nem feltétlenül alkalmazható a megnövekedett összetettség miatt.