Mikroservisi: Okviri otvorenog koda i softverska arhitektura

Mikroservisi: moderna softverska arhitektura

Mikroservisi: moderna softverska arhitektura

Nastavljajući sa tema evolucije i promjena u paradigmama i radnim metodama dogodilo se u području razvoja softvera, čega smo se nedavno dotakli u člancima pod nazivom "Razvoj softvera: povijesni pregled do danas", "Interoperabilnost kroz oblak: Kako to postići?" y "XaaS: Cloud Computing - sve kao usluga", danas ćemo razgovarati o tome Mikroservisi.

Mikroservisi su moderna softverska arhitektura, a ne API (sučelje za programiranje aplikacija) ili sama tehnologija koja se može instalirati i koristiti. Softverske arhitekture, poznate i kao softverski obrasci, potpuno su nepoznate programskim jezicima, jer oni samo uspostavljaju način na koji bi tehnologije trebale raditi, a ne kako se implementiraju.

Mikroservisi: Uvod

Uvod

Mikroservisi se mogu smatrati evolucijom SOA arhitekture (Service-Oriented Architecture), koji vodi programere da kreiraju više modularnih aplikacija, koje su funkcionalne i autonomne, sa velikim kapacitetom za efikasnu ponovnu upotrebu, kao što se to radi na sličan način, kada optimiziramo upotrebu određenog hardvera, u kojem Otkriva samo ono što je zaista neophodno, umjesto da nepotrebno raskrije svoj puni potencijal.

Arhitektura mikroservisa, u praksi nije postao toliko raširen kao u teoriji, tj. poznatiji je nego korišten. Međutim, svaki dan više, mnogi programeri ga implementiraju jer je to model razvoja softvera Poboljšava vrijeme, performanse i stabilnost varijabli u projektima u kojima se primjenjuje. Osim toga, njegov jednostavna pridružena skalabilnost čini ga posebno pogodnim u razvoju gdje je kompatibilnost više platformi (Web, Mobile, Wearables, IoT) od suštinske važnosti.

Mikroservisi: radna šema

Ali, dok je SOA arhitektura višeg nivoa, odnosno Arhitektura u kojoj se grade aplikacije zasnovane na uslugama, gdje je usluga najmanja i najfunkcionalnija cjelina rada unutar kreirane aplikacije, Arhitektura mikrousluga takođe omogućava nam stvaranje usluga, ali ove usluge su dizajnirane na vrlo mali i specifičan način tako da ispunjavaju vrlo preciznu i tačnu funkcionalnost, na takav način da se mogu odvojiti od ostatka aplikacija i funkcionirati na potpuno autonomni način od ostatka aplikacije u kojoj je stvoren.

Mikroservisi: Šta su oni i šta su?

Šta su softverske arhitekture (obrasci)?

Da bismo dobro razumjeli softversku arhitekturu mikroservisa, dobro je znati malo o svim najpoznatijim postojećim softverskim arhitekturama. Postoji mnogo postojećih, kao što se može vidjeti na web mjestu oodesign ili jednostavno unutra Wikipedia, ali prema poznatoj knjizi tzv "Knjiga dizajna uzoraka" (Knjiga o uzorcima dizajna) postojeći obrasci mogu se klasificirati kao:

Kreativni

Oni koji se bave načinima instanciranja objekata i čiji je cilj apstrahirati postupak instanciranja i sakriti detalje o načinu stvaranja ili inicijalizacije objekata. U ovoj klasi su sljedeći:

  • Fabrika sažetaka
  • graditelj
  • Tvornička metoda
  • prototip
  • jedna stvar

Strukturni

Oni koji opisuju kako se klase i objekti (jednostavni ili složeni) mogu kombinirati u velike strukture i pružiti novu funkcionalnost. U ovoj klasi su sljedeći:

  • adapter
  • most
  • Kompozitni
  • Dekorator
  • Fasada
  • Muhašica
  • zastupnik

Ponašanje

Oni koji nam pomažu u definiranju komunikacije i iteracije između objekata sistema. Svrha ovog uzorka je smanjiti spregu između predmeta. U ovoj klasi su sljedeći:

  • Lanac odgovornosti
  • naredba
  • Tumač
  • iteratori
  • Posrednik
  • uspomena
  • posmatrač
  • stanje
  • Strategija
  • Predložena metoda
  • posjetilac

drugi

Prethodni uzorci dizajna izražavali su šeme koje definišu strukture dizajna pomoću kojih se grade softverski sistemi. Ali kada želimo bolje izraziti temeljnu organizacionu i strukturnu shemu stvorenih softverskih sistema, obično nalazimo ovu drugu klasifikaciju:

  • Arhitektura škriljevca
  • DAO: Objekt pristupa podacima
  • DTO: Objekt prijenosa podataka
  • EDA: Arhitektura vođena događajima
  • Implicitno pozivanje
  • Goli predmeti
  • Slojevito programiranje
  • Peer-to-peer
  • cjevovod
  • SOA: Uslužno orijentirana arhitektura
  • Tri nivoa

Tu je i "Model kontrolera" koja je dobro poznata i korištena, a dijeli se na:

  • Model / Pogled / Kontroler
  • Model / Pogled / Prezentator
  • Model / Pogled / Prezenter sa Model Presenter
  • Model / Pogled / Pogled-Model
  • Model / View / Presenter sa pasivnim prikazom
  • Model / View / Presenter sa Supervisor Controllerom

Biti „Model prikaza kontrolera“ jedan od najpoznatijih i danas implementiranih, nedovoljno je pružiti potrebne funkcionalnosti korporativnoj aplikaciji, i to je jedan od glavnih razloga zašto, Microservices Architecture zamjenjuje Model-View-Controller (MVC).

Mikroservisi: Prednosti

Prednosti arhitekture mikroservisa

Kada se web platforma koristi arhitekturom Microservices, ona obično ima sljedeće prednosti:

  • Riješite lako riješiti svaki problem ili problem rješavanjem svakog malog mikroservisa koji je uključen u određenu situaciju.
  • Da ublaži općeniti ili globalni kvarovi usluga, jer kada Microservice zakaže, to ne utječe na ostale, jer su potpuno neovisne.
  • Olakšati lansiranje i uključivanje kompletnih ili specifičnih funkcionalnosti ili usluga, jer se svaka mikroservis može dodavati ili uklanjati i ažurirati odvojeno i postupno.
  • Da bude bolje pristup aplikacijama ili uslugama stvorenim sa svih vrsta uređaja i platformi.
  • Povećaj svestranost platforme, jer se Microservices mogu distribuirati na različitim serverima i pisati na različitim jezicima.

Mikroservisi: Okviri

Open Source Frameworks

Ima ih mnogo opcije otvorenog koda koje programeri softvera mogu koristiti za razvoj rješenja koja su dio Microservices Architecture. Konkretno za Javu, koja je za to široko korištena tehnologija, postoje sljedeće:

Mikroservisi: mreže

Web primjeri s arhitekturama mikroservisa

Među velikim brojem web stranica koje pružaju velike aplikativne usluge i koje su progresivno implementirale Microservices Architecture kako bi poboljšale održavanje i skalabilnost platforme svojih usluga i proizvoda, čineći je jednostavnom, efikasnom i brzom, možemo spomenuti tri glavne u industriji Šta su oni:

  • Amazon
  • ebay
  • Netflix

Mikroservisi: Zaključak

zaključak

Jasno je da Mikroservisi puno doprinose razvoju modernog softvera zasnovanog na webuAli oni također znače rješavanje mnogih novih izazova koje treba riješiti. Problemi koji ne samo da imaju veze s učenjem i efikasnim radom okvira, već i kako se ovi novi događaji dopunjuju i implementiraju u IT odjele, koji su na kraju oni koji ih stavljaju na mrežu i upravljaju, te imaju važnost u konačnim odlukama o svakom razvoju. Ali Ova arhitektura je ovdje i dugo će ostati.


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.