Microservicii: cadre open source și arhitectură software

Microservicii: o arhitectură software modernă

Microservicii: o arhitectură software modernă

Continuând cu tema evoluției și schimbările în paradigme și metode de lucru s-a întâmplat în zona dezvoltării de software, pe care am atins-o recent în articolele numite „Dezvoltare software: o recenzie istorică până în prezent”, "Interoperabilitatea prin Cloud: Cum să o realizăm?" y „XaaS: Cloud Computing - Totul ca serviciu”, astăzi vom vorbi despre Microservicii.

Microserviciile sunt o arhitectură software modernă, nu un API (Application Programming Interface) sau o tehnologie în sine, care poate fi instalată și utilizată. Arhitecturile software, cunoscute și sub numele de modele software, sunt complet străine de limbajele de programare, deoarece stabilesc doar modul în care ar trebui să funcționeze tehnologiile și nu modul în care sunt implementate.

Microservicii: Introducere

Introducere

Microserviciile pot fi văzute ca o evoluție a arhitecturii SOA (Service-Oriented Architecture), care ghidează dezvoltatorii să creeze aplicații mai modulare, care să fie funcționale și autonome, cu o capacitate mare de a fi reutilizate într-un mod eficient, așa cum se face într-un mod similar, atunci când optimizăm utilizarea unor hardware, în care se desfășoară doar ceea ce este cu adevărat necesar, în loc să-și desfășoare întregul potențial inutil.

Arhitectura Microservicilor, în practică nu s-a răspândit la fel de răspândit ca în teorie, adică este mai bine cunoscut decât folosit. Cu toate acestea, în fiecare zi, mai mulți dezvoltatori îl implementează, deoarece este un model de dezvoltare software care Îmbunătățește variabilele timp, performanță și stabilitate în cadrul proiectelor în care este aplicată. În plus, a lui scalabilitate asociată simplă îl face adecvat în special în dezvoltările în care compatibilitatea multiplataformă (Web, mobil, Wearables, IoT) este esențială.

Microservicii: Schema de lucru

Dar în timp ce SOA este o Arhitectură de nivel superior, adică o Arhitectură în care sunt construite aplicații bazate pe servicii, unde un serviciu este cea mai mică și funcțională unitate de lucru din cadrul unei aplicații create, Arhitectura Microserviciilor de asemenea ne permite să creăm servicii, dar aceste servicii sunt concepute într-un mod foarte mic și specific astfel încât să îndeplinească o funcționalitate foarte precisă și punctuală, în așa fel încât să poată fi decuplate de restul aplicațiilor și să funcționeze într-un mod total autonom de restul aplicației unde a fost creată.

Microservicii: Ce sunt și ce sunt?

Ce sunt arhitecturile software (tiparele)?

Pentru a înțelege bine arhitectura software a microserviciilor, este bine să știți puțin despre toate cele mai cunoscute arhitecturi software existente. Există multe, așa cum se poate vedea pe site-ul oodesign sau pur și simplu în Wikipedia, dar conform celebrei cărți numită „Carte de proiectare a modelelor” (Cartea de modele de design) tiparele existente pot fi clasificate ca:

Creațional

Cei care se ocupă de modalități de instanțiere a obiectelor și al căror scop este să abstracteze procesul de instanțiere și să ascundă detaliile despre modul în care obiectele sunt create sau inițializate. În această clasă sunt următoarele:

  • Fabrica de abstracte
  • Constructor
  • Metoda fabricii
  • Prototip
  • singleton

Structural

Cele care descriu modul în care clasele și obiectele (simple sau compuse) pot fi combinate pentru a forma structuri mari și a oferi noi funcționalități. În această clasă sunt următoarele:

  • Adaptor
  • Bridge
  • Compozit
  • decorator
  • Faţadă
  • categorie muscă
  • Împuternicire

comportament

Cele care ne ajută să definim comunicarea și iterația dintre obiectele unui sistem. Scopul acestui model este de a reduce cuplarea dintre obiecte. În această clasă sunt următoarele:

  • Lanțul de responsabilitate
  • Comandă
  • Interpret
  • iteratoare
  • mediator
  • Amintire
  • Observator
  • Stat
  • Strategie
  • Metoda șablonului
  • Vizitator

alții

Modelele de proiectare anterioare au exprimat scheme care definesc structurile de proiectare cu care se pot construi sisteme software. Dar când vrem să exprimăm mai bine o schemă organizațională și structurală fundamentală pentru sistemele software create, de obicei găsim această altă clasificare:

  • Arhitectura ardezie
  • DAO: Obiect de acces la date
  • DTO: obiect de transfer de date
  • EDA: Event Driven Architecture
  • Invocare implicită
  • Obiecte goale
  • Programare stratificată
  • De la persoană la persoană
  • Conductă
  • SOA: Arhitectură orientată spre servicii
  • Trei niveluri

Există, de asemenea, „Model de vizualizare a controlerului” care este bine cunoscut și utilizat și este împărțit în:

  • Model / Vizualizare / Controler
  • Model / Vizualizare / Prezentator
  • Model / Vizualizare / Prezentator cu Model Prezentator
  • Model / Vizualizare / Vizualizare-Model
  • Model / Vizualizare / Prezentator cu Vizualizare pasivă
  • Model / Vizualizare / Prezentator cu controlor de supraveghere

ființă „Controller View Model” unul dintre cele mai cunoscute și implementate astăzi, este insuficient să oferiți funcționalitățile necesare unei aplicații corporative și acesta este unul dintre principalele motive pentru care, Microservices Architecture înlocuiește Model-View-Controller (MVC).

Microservicii: Avantaje

Avantajele arhitecturii microserviciilor

Când o platformă web folosește Arhitectura Microservicilor, aceasta are de obicei următoarele avantaje:

  • rezolvitorului ușor fiecare problemă sau problemă prezentată prin adresarea fiecărui mic serviciu implicat într-o situație specifică.
  • Pentru a atenua Eșecuri generale sau globale ale serviciilor, deoarece atunci când un Microserviciu eșuează, nu le afectează pe celelalte, deoarece acestea sunt total independente.
  • A usura lansarea și încorporarea de funcționalități sau servicii complete sau specifice, deoarece fiecare Microservice poate fi adăugat sau eliminat și actualizat separat și progresiv.
  • A se face mai bine acces la aplicații sau servicii create de toate tipurile de dispozitive și platforme.
  • Aumentar versatilitatea platformei, deoarece Microserviciile pot fi distribuite pe diferite servere și pot fi scrise în diferite limbi.

Microservicii: cadre

Cadre Open Source

Sunt mulți opțiuni open source pe care dezvoltatorii de software îl pot utiliza pentru a dezvolta soluții care fac parte din Microservices Architectures. În mod specific pentru Java, care este o tehnologie utilizată pe scară largă, există următoarele:

Microservicii: pagini web

Exemple Web cu arhitecturi Microservices

Printre numărul mare de site-uri web care oferă servicii de aplicații la scară largă și care au implementat progresiv Arhitectura Microservicilor pentru a îmbunătăți întreținerea și scalabilitatea platformei lor de servicii și produse, făcând-o simplă, eficientă și rapidă, putem menționa trei dintre cele mai importante din industrie Ce sunt ei:

  • Amazon
  • Ebay
  • Netflix

Microservicii: Concluzie

Concluzie

Este clar că Microserviciile contribuie mult la dezvoltarea modernă de software bazată pe webDar ele înseamnă și abordarea multor noi provocări de rezolvat. Probleme care nu numai că au legătură cu învățarea cadrului și funcționarea eficientă, ci și modul în care aceste noi dezvoltări sunt completate și implementate în departamentele IT, care în cele din urmă sunt cele care le pun online și le gestionează și au votul ponderea în deciziile finale despre fiecare dezvoltare. Dar Această arhitectură este aici și a ajuns să rămână mult timp.


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.