Mikro storitve: odprtokodni okviri in arhitektura programske opreme

Mikro storitve: sodobna arhitektura programske opreme

Mikro storitve: sodobna arhitektura programske opreme

Nadaljujem z tema evolucije in sprememb paradigem in delovnih metod zgodilo na področju razvoja programske opreme, česar smo se nedavno dotaknili v člankih z naslovom "Razvoj programske opreme: zgodovinski pregled do danes", "Interoperabilnost prek oblaka: kako to doseči?" y "XaaS: računalništvo v oblaku - vse kot storitev", danes bomo govorili o Mikro storitve.

Mikro storitve so sodobna arhitektura programske opreme, ne API (Application Programming Interface) ali sama tehnologija, ki jo je mogoče namestiti in uporabljati. Programske arhitekture, znane tudi kot programski vzorci, so programskim jezikom popolnoma tuje, saj niso nič drugega kot določajo način delovanja tehnologij in ne načina njihovega izvajanja.

Mikro storitve: Uvod

uvod

Mikro storitve lahko razumemo kot razvoj arhitekture SOA (Service-Oriented Architecture), ki vodi razvijalce k ustvarjanju bolj modularnih aplikacij, ki so funkcionalne in avtonomne, z visoko zmogljivostjo za učinkovito ponovno uporabo, kot je to storjeno na podoben način, ko optimiziramo uporabo nekatere strojne opreme, v kateri se le razvija kar je resnično potrebno, namesto da bi po nepotrebnem razkrili ves njegov potencial.

Arhitektura mikro storitev, v praksi ni postal tako razširjen kot v teoriji, to je je bolj znan kot uporabljen. Vsak dan pa ga mnogi razvijalci že uvajajo, ker gre za model za razvoj programske opreme Izboljša spremenljivke čas, zmogljivost in stabilnost v projektih, kjer se uporabljajo. Poleg tega njegov preprosta povezana razširljivost je še posebej primeren za razvoj, kjer je združljivost več platform (Web, Mobile, Wearables, IoT) bistvenega pomena.

Mikro storitve: delovna shema

Vendar medtem ko je SOA arhitektura višje ravni, to je arhitektura, kjer se gradijo aplikacije, ki temeljijo na storitvah, kjer je storitev najmanjša in najbolj funkcionalna enota dela znotraj ustvarjene aplikacije, Arhitektura mikro storitev Prav tako nam omogoča ustvarjanje storitev, vendar so te storitve zasnovane na zelo majhen in specifičen način tako da izpolnjujejo zelo natančno in natančno funkcionalnost, tako da jih je mogoče ločiti od ostalih aplikacij in delovati popolnoma avtonomno od preostale aplikacije, kjer je bila ustvarjena.

Mikro storitve: kaj so in kaj so?

Kaj so programske arhitekture (vzorci)?

Da bi dobro razumeli programsko arhitekturo mikro storitev, je dobro vedeti nekaj o vseh najbolj znanih obstoječih arhitekturah programske opreme. Obstaja veliko obstoječih, kot je razvidno na spletnem mestu oodesign ali preprosto v Wikipedia, vendar po znameniti knjigi z naslovom "Knjiga za oblikovanje vzorcev" (Knjiga o vzorcih oblikovanja) obstoječe vzorce lahko razvrstimo kot:

Ustvarjalno

Tisti, ki se ukvarjajo z načini instanciranja predmetov in katerih cilj je abstrahirati postopek instanciranja in skriti podrobnosti o tem, kako se predmeti ustvarjajo ali inicializirajo. V tem razredu so naslednji:

  • Abstraktna tovarna
  • Builder
  • Tovarniška metoda
  • Prototip
  • Singleton

Strukturni

Tisti, ki opisujejo, kako je mogoče razrede in predmete (enostavne ali sestavljene) kombinirati v velike strukture in zagotoviti novo funkcionalnost. V tem razredu so naslednji:

  • Adapter
  • Bridge
  • Sestavljena
  • Dekorater
  • Fasada
  • Leteča teža
  • Proxy

Obnašanje

Tisti, ki nam pomagajo opredeliti komunikacijo in ponovitev med objekti sistema. Namen tega vzorca je zmanjšati spenjanje med predmeti. V tem razredu so naslednji:

  • Veriga odgovornosti
  • Ukaz
  • tolmač
  • iteratorji
  • Posrednik
  • Memento
  • Observer
  • Država
  • Strategija
  • Metoda predloge
  • Obiskovalec

drugi

Prejšnji vzorci načrtovanja so izražali sheme, ki opredeljujejo strukture oblikovanja, s katerimi se gradijo programski sistemi. Ko pa želimo bolje predstaviti temeljno organizacijsko in strukturno shemo za ustvarjene programske sisteme, običajno najdemo to drugo klasifikacijo:

  • Skrilavec arhitektura
  • DAO: Predmet dostopa do podatkov
  • DTO: Predmet prenosa podatkov
  • EDA: Arhitektura, ki temelji na dogodkih
  • Implicitni klic
  • Goli predmeti
  • Večplastno programiranje
  • Peer-to-peer
  • Pipeline
  • SOA: Arhitektura, usmerjena v storitve
  • Tri ravni

Obstaja tudi "Model krmilnika" ki je dobro znana in uporabljena in je razdeljena na:

  • Model / Pogled / Krmilnik
  • Model / Pogled / Predstavitelj
  • Model / Pogled / Predstavitelj z Model Presenter
  • Model / Pogled / Pogled-Model
  • Model / Pogled / Predstavitelj s pasivnim pogledom
  • Model / Pogled / Predstavitelj z nadzorniškim krmilnikom

Biti "Controller View Model" eden najbolj znanih in danes uvedenih, ne zadostuje za zagotavljanje zahtevanih funkcionalnosti korporativne aplikacije, in to je eden glavnih razlogov, zakaj, Microservices Architecture nadomešča Model-View-Controller (MVC).

Mikro storitve: Prednosti

Prednosti arhitekture mikro storitev

Ko spletna platforma uporablja arhitekturo Microservices, ima običajno naslednje prednosti:

  • Reši enostavno predstaviti vsak problem ali težavo, tako da se loti vsake majhne mikro storitve, ki je vključena v določeno situacijo.
  • Za ublažitev Splošne ali globalne okvare storitev, saj če Microservice odpove, to ne vpliva na druge, ker so popolnoma neodvisne.
  • Olajšajte zagon in vključitev celotnih ali posebnih funkcij ali storitev, saj je vsako Microservice mogoče dodati ali odstraniti in posodobiti ločeno in postopoma.
  • Da bi bilo bolje dostop do aplikacij ali storitev, ustvarjenih iz vseh vrst naprav in platform.
  • Povečajte vsestranskost platforme, saj je Microservices mogoče distribuirati na različnih strežnikih in pisati v različnih jezikih.

Mikro storitve: ogrodja

Odprtokodni okviri

Obstaja veliko odprtokodne možnosti ki ga lahko razvijalci programske opreme uporabljajo za razvoj rešitev, ki so del Microservices Architectures. Natančneje za Javo, ki je za to široko uporabljena tehnologija, obstajajo:

Mikro storitve: Splet

Spletni primeri z arhitekturami mikro storitev

Med velikim številom spletnih mest, ki ponujajo obsežne aplikacijske storitve in so postopoma uvajale arhitekturo mikro storitev, da bi izboljšale vzdrževanje in razširljivost njihove platforme za storitve in izdelke, tako da je bila enostavna, učinkovita in hitra, lahko omenimo tri glavne v panogi Kaj so oni:

  • Amazon
  • Ebay
  • Netflix

Mikro storitve: Zaključek

Zaključek

Jasno je, da Mikroservice veliko prispevajo k sodobnemu spletnemu razvoju programske opremePomenijo pa tudi reševanje številnih novih izzivov, ki jih je treba rešiti. Težave, ki niso povezane samo z učenjem okvira in učinkovitim delom, temveč tudi s tem, kako se ta nova dogajanja dopolnjujejo in izvajajo v oddelkih za informacijsko tehnologijo, ki so na koncu tisti, ki jih dajo v splet in jih upravljajo ter imajo glas težo pri končnih odločitvah o vsakem razvoju. Ampak Ta arhitektura je tu in je že dolgo ostala.


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.