Mikroszolgáltatások: Nyílt forráskódú keretrendszerek és szoftverarchitektúra

Mikroszolgáltatások: Modern szoftverarchitektúra

Mikroszolgáltatások: Modern szoftverarchitektúra

Folytatva az evolúció témája, valamint a paradigmák és a munkamódszerek változásai a szoftverfejlesztés területén történt, amelyet a közelmúltban érintettünk az úgynevezett cikkekben "Szoftverfejlesztés: Történelmi áttekintés a mai napig", "Interoperabilitás a felhőn keresztül: hogyan érhető el?" y "XaaS: Cloud Computing - Minden, mint szolgáltatás", ma erről fogunk beszélni Mikroszolgáltatások.

A mikroszolgáltatások egy modern szoftverarchitektúra, nem pedig API (Application Programming Interface) vagy maga a technológia, amely telepíthető és használható. A szoftverarchitektúrák, más néven szoftverminták, teljesen idegenek a programozási nyelvektől, mivel csak a technológiák működésének módját határozzák meg, és nem a megvalósítás módját.

Mikroszolgáltatások: Bevezetés

Bevezetés

A mikroszolgáltatások a SOA Architecture (Service-Oriented Architecture) fejlődésének tekinthetők, amely arra irányítja a fejlesztőket, hogy funkcionálisabb és autonóm modulárisabb alkalmazásokat hozzanak létre, amelyek nagy kapacitással hatékonyan újrafelhasználhatók, ahogyan ez hasonló módon történik, amikor optimalizálunk bizonyos hardvereket, amelyekben csak azok bontakoznak ki. ami valóban szükséges, ahelyett, hogy szükségtelenül kibontakoztatná teljes potenciálját.

A mikroszolgáltatások architektúrája, a gyakorlatban nem vált annyira elterjedté, mint elméletben, vagyis ismertebb, mint használt. Azonban mindennap sok fejlesztő implementálja, mert ez egy szoftverfejlesztési modell Javítja a változók idejét, teljesítményét és stabilitását azokon a projekteken belül, ahol alkalmazzák. Emellett az övé egyszerű társított méretezhetőség különösen alkalmassá teszi olyan fejlesztésekben, ahol a platformok közötti kompatibilitás (Web, Mobile, Wearables, IoT) elengedhetetlen.

Mikroszolgáltatások: Munka séma

De míg a SOA egy magasabb szintű építészet, vagyis egy olyan architektúra, ahol a szolgáltatásokra épülő alkalmazások épülnek fel, ahol a szolgáltatás a létrehozott alkalmazáson belül a legkisebb és legfunkcionálisabb munkaegység, Mikroszolgáltatások architektúrája is lehetővé teszi számunkra, hogy szolgáltatásokat hozzunk létre, de ezeket a szolgáltatásokat úgy tervezték nagyon kicsi és konkrét módon hogy nagyon pontos és pontos funkciókat töltsenek be, oly módon, hogy leválaszthatók a többi alkalmazásról, és teljesen autonóm módon működjenek az alkalmazás többi részétől, ahol létrehozták.

Mikroszolgáltatások: Mik ezek és mik?

Mik azok a szoftverarchitektúrák (minták)?

A mikroszolgáltatások szoftverarchitektúrájának megértéséhez jó, ha ismerünk egy kicsit a legismertebb meglévő szoftverarchitektúrákról. Sok létező létezik, amint az a webhelyen is látható oodesign vagy egyszerűen be Wikipedia, de a híres könyv szerint "Minta tervezési könyv" (Tervezési minták könyv) a meglévő minták a következőkbe sorolhatók:

Kreatív

Azok, amelyek az objektumok példányosításának módjaival foglalkoznak, és amelyek célja a példányosítás folyamatának elvonatkoztatása, és az objektumok létrehozásának vagy inicializálásának részleteinek elrejtése. Ebben az osztályban a következők vannak:

  • Absztrakt gyár
  • Építész
  • Gyári módszer
  • Prototípus
  • Szingli

Szerkezeti

Azok, amelyek leírják, hogy az osztályok és az objektumok (egyszerű vagy összetett) hogyan kombinálhatók nagy struktúrák kialakításához és új funkciók biztosításához. Ebben az osztályban a következők vannak:

  • adapter
  • Bridge
  • Összetett
  • díszlettervező
  • épülethomlokzat
  • Légysúly
  • meghatalmazott

viselkedés

Azok, amelyek segítenek meghatározni a rendszer objektumai közötti kommunikációt és iterációt. Ennek a mintának a célja az objektumok közötti kapcsolatok csökkentése. Ebben az osztályban a következők vannak:

  • A felelősség láncolata
  • parancs
  • Tolmács
  • iterátor
  • Közvetítő
  • emlékeztető
  • Megfigyelő
  • Állami
  • Stratégia
  • Sablon módszer
  • Látogató

Egyéb

A korábbi tervezési minták olyan sémákat fejeztek ki, amelyek meghatározzák a tervezési struktúrákat, amelyekkel szoftverrendszereket lehet építeni. De amikor jobban meg akarjuk fejezni a létrehozott szoftverrendszerek alapvető szervezeti és strukturális sémáját, általában ezt a másik besorolást találjuk:

  • Pala építészet
  • DAO: Adathozzáférési objektum
  • DTO: Adatátviteli objektum
  • EDA: Eseményvezérelt építészet
  • Implicit meghívás
  • Meztelen tárgyak
  • Réteges programozás
  • Peer-to-peer
  • Csővezeték
  • SOA: Szolgáltatásorientált architektúra
  • Három szint

Van még a "Vezérlő modellje" amely jól ismert és használt, és fel van osztva:

  • Modell / Nézet / Vezérlő
  • Modell / Nézet / Előadó
  • Model / View / Presenter with Model Presenter
  • Modell / Nézet / Nézet-modell
  • Modell / nézet / előadó passzív nézettel
  • Modell / nézet / előadó felügyelő vezérlővel

lét a "Controller View Model" az egyik legismertebb és megvalósított ma, nem elegendő a szükséges funkciók biztosítása egy vállalati alkalmazás számára, és ez az egyik fő oka annak, hogy A Microservices Architecture felváltja a Model-View-Controllert (MVC).

Mikroszolgáltatások: Előnyök

A Microservices Architecture előnyei

Amikor egy webes platform a Microservices architektúrát használja, annak általában a következő előnyei vannak:

  • rezolverhez könnyedén bemutathat minden problémát vagy problémát azáltal, hogy foglalkozik az adott helyzetben részt vevő minden egyes kis Microservice-szel.
  • Enyhíteni A szolgáltatások általános vagy globális meghibásodása, mivel amikor egy Microservice meghibásodik, az nem érinti a többieket, mert teljesen függetlenek.
  • Enyhíteni komplett vagy specifikus funkciók vagy szolgáltatások bevezetése és beépítése, mivel mindegyik Microservice külön-külön és fokozatosan hozzáadható vagy eltávolítható és frissíthető.
  • Jobban lenni hozzáférés minden típusú eszközről és platformról létrehozott alkalmazásokhoz vagy szolgáltatásokhoz.
  • növekedés a platform sokoldalúsága, mivel a Microservices különböző szervereken terjeszthető és különböző nyelveken írható.

Mikroszolgáltatások: Keretek

Nyílt forráskódú keretrendszerek

sok nyílt forráskódú opciók amelyet a szoftverfejlesztők felhasználhatnak a Microservices Architectures részét képező megoldások kifejlesztésére. Pontosabban a Java számára, amely erre széles körben alkalmazott technológia, a következők vannak:

Mikroszolgáltatások: Webek

Webes példák Microservices architektúrákkal

A nagyszámú olyan webhely közül, amelyek nagyszabású alkalmazás-szolgáltatásokat nyújtanak, és fokozatosan implementálták a Microservices Architecture-t, hogy javítsák szolgáltatásaik és termékeik platformjának karbantartását és skálázhatóságát, egyszerűvé, hatékonyá és gyorsabbá téve, az iparág három fő webhelyét említhetjük Kik ők:

  • amazon
  • Ebay
  • Netflix

Mikroszolgáltatások: Következtetés

Következtetés

Világos, hogy A mikroszolgáltatások nagyban hozzájárulnak a modern webalapú szoftverfejlesztéshezDe sok új megoldandó kihívás kezelését is jelentik. Problémák, amelyek nem csak a keretrendszer tanulásához és hatékony működéséhez kapcsolódnak, hanem az is, hogy ezeket az új fejlesztéseket hogyan egészítik ki és hajtják végre az informatikai részlegek, akik végül ők teszik online és kezelik őket, és szavaznak súlya az egyes fejlesztésekre vonatkozó végső döntésekben. De Ez az építészet itt van, és sokáig maradt.


Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: Miguel Ángel Gatón
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.