Mikroservisi: Okviri otvorenog koda i softverska arhitektura

Mikroservisi: suvremena softverska arhitektura

Mikroservisi: suvremena softverska arhitektura

Nastavljajući sa tema evolucije i promjena paradigmi i metoda rada dogodilo se na 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: računalstvo u oblaku - sve kao usluga", danas ćemo razgovarati o 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 strane programskim jezicima, jer nisu ništa drugo nego uspostavljaju način na koji bi tehnologije trebale raditi, a ne kako se provode.

Mikroservisi: Uvod

I

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

Arhitektura mikrousluga, u praksi nije postao tako masivan 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 varijable vrijeme, performanse i stabilnost u projektima u kojima se primjenjuju. Osim toga, njegova jednostavna pridružena skalabilnost čini ga posebno prikladnim u razvojima u kojima je bitna kompatibilnost s više platformi (Web, Mobile, Wearables, IoT).

Mikroservisi: shema rada

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

Mikroservisi: Što su oni i što su?

Što su softverske arhitekture (obrasci)?

Da bismo dobro razumjeli softversku arhitekturu mikrousluga, 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 u Wikipedija, ali prema poznatoj knjizi tzv «Knjiga o dizajnu 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:

  • Sažetak tvornica
  • Graditelj
  • Tvornička metoda
  • Prototip
  • jedna stvar

Strukturne

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

  • adapter
  • most
  • Mješavina
  • Dekorater
  • Fasada
  • Flyweight
  • proxy

ponašanje

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

  • Lanac odgovornosti
  • naredba
  • Tumač
  • iterator
  • Posrednik
  • podsjetnik
  • Posmatrač
  • država
  • Strategija
  • Predložena metoda
  • posjetilac

drugi

Prethodni uzorci dizajna izražavali su sheme koje definiraju strukture dizajna pomoću kojih se grade softverski sustavi. Ali kada želimo bolje izraziti temeljnu organizacijsku i strukturnu shemu stvorenih softverskih sustava, obično nalazimo ovu drugu klasifikaciju:

  • Arhitektura škriljevca
  • DAO: Objekt pristupa podacima
  • DTO: objekt prijenosa podataka
  • EDA: Arhitektura vođena događajima
  • Implicitni poziv
  • Goli predmeti
  • Slojevito programiranje
  • Peer-to-peer
  • Cjevovod
  • SOA: Uslužno orijentirana arhitektura
  • Tri razine

Tu je i "Model kontrolera" koji je dobro poznat i korišten, a podijeljen je na:

  • Model / Pogled / Kontroler
  • Model / Pogled / Prezenter
  • Model / Pogled / Prezenter s Model Presenter
  • Model / Pogled / Pogled-Model
  • Model / View / Presenter s pasivnim prikazom
  • Model / Pogled / Prezenter s nadzornim kontrolerom

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

Mikroservisi: Prednosti

Prednosti arhitekture mikrousluga

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

  • resolver lako predstaviti svaki problem ili problem koji se odnosi na svaku malu mikroservisu koja je uključena u određenu situaciju.
  • Ublažiti Opći ili globalni kvarovi usluga, jer kada Microservice zakaže, to ne utječe na ostale, jer su potpuno neovisne.
  • Da olakšam lansiranje i uvrštavanje cjelovitih ili specifičnih funkcionalnosti ili usluga, jer se svaka mikrousluga može dodavati ili uklanjati i ažurirati odvojeno i postupno.
  • Postati bolji pristup aplikacijama ili uslugama stvorenim iz svih vrsta uređaja i platformi.
  • povećanje svestranost platforme, jer se Microservices mogu distribuirati na različitim poslužiteljima i pisati na različitim jezicima.

Mikroservisi: Okviri

Okviri otvorenog koda

postoje mnogi mogućnosti 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 postupno implementirale Microservices Architecture kako bi poboljšale održavanje i skalabilnost platforme svojih usluga i proizvoda, čineći je jednostavnom, učinkovitom i brzom, možemo spomenuti tri glavna u industriji Što su oni:

  • Amazon
  • Ebay
  • Netflix

Mikroservisi: Zaključak

Zaključak

Jasno je da Mikroservisi puno doprinose modernom razvoju softvera temeljenom na webuAli oni također znače riješiti mnoge nove izazove koje treba riješiti. Problemi koji ne samo da imaju veze s učenjem i učinkovitim 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 njima te imaju glas težina u konačnim odlukama o svakom razvoju. Ali Ova je Arhitektura ovdje i dugo će ostati.


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  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 obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.