Microservices: Open Source Frameworks og softwarearkitektur

Microservices: En moderne softwarearkitektur

Microservices: En moderne softwarearkitektur

Fortsætter med temaet evolution og ændringer i paradigmer og arbejdsmetoder skete inden for softwareudvikling, som vi for nylig berørte i de kaldte artikler "Softwareudvikling: En historisk gennemgang til i dag", "Interoperabilitet gennem skyen: Hvordan opnås det?" y "XaaS: Cloud Computing - Everything as a Service", i dag vil vi tale om Mikrotjenester.

Microservices er en moderne softwarearkitektur, ikke en API (Application Programming Interface) eller en teknologi, som kan installeres og bruges. Softwarearkitekturer, også kendt som softwaremønstre, er helt fremmed for programmeringssprog, da de ikke er andet end at de fastlægger den måde, hvorpå teknologier skal fungere, og ikke hvordan de implementeres.

Mikrotjenester: Introduktion

Indledning

Mikrotjenester kan ses som en udvikling af SOA-arkitekturen (serviceorienteret arkitektur), der guider udviklere til at oprette mere modulære applikationer, der er funktionelle og autonome, med høj kapacitet til at blive genbrugt på en effektiv måde, som det gøres på en lignende måde, når vi optimerer brugen af ​​noget hardware, hvor Det udfolder kun det, der virkelig er nødvendigt, i stedet for at udfolde sit fulde potentiale unødigt.

Arkitekturen af ​​mikrotjenester, i praksis er det ikke blevet så udbredt som i teorien, det vil sige det er bedre kendt end brugt. Men hver dag mere implementerer mange udviklere det, fordi det er en softwareudviklingsmodel, der forbedrer variablerne tid, ydeevne og stabilitet inden for de projekter, hvor den anvendes. Desuden hans enkel tilknyttet skalerbarhed gør det særligt velegnet til udviklinger, hvor kompatibilitet på tværs af platforme (Web, Mobile, Wearables, IoT) er afgørende.

Mikrotjenester: Arbejdsordning

Men mens SOA er et højere niveau arkitektur, det vil sige en arkitektur, hvor applikationer baseret på tjenester er bygget, hvor en service er den mindste og mest funktionelle enhed inden for en oprettet applikation, Mikrotjenester Arkitektur også giver os mulighed for at oprette tjenester, men disse tjenester er designet på en meget lille og specifik måde så de opfylder en meget præcis og punktlig funktionalitetpå en sådan måde, at de kan afkobles fra resten af ​​applikationerne og fungere på en fuldstændig autonom måde fra resten af ​​applikationen, hvor den blev oprettet.

Mikrotjenester: Hvad er de, og hvad er de?

Hvad er softwarearkitekturer (mønstre)?

For at forstå Microservices softwarearkitektur godt er det godt at vide lidt om alle de bedst kendte eksisterende softwarearkitekturer. Der er mange eksisterende, som det kan ses på webstedet for Oodesign eller simpelthen i Wikipedia, men ifølge den berømte bog kaldet «Mønsterdesignbog» (Design Patterns Book) eksisterende mønstre kan klassificeres som:

Skabende

Dem, der beskæftiger sig med måder at instantiere objekter på, og hvis mål er at abstrakte instantieringsprocessen og skjule detaljerne i, hvordan objekter oprettes eller initialiseres. I denne klasse er følgende:

  • Abstrakt fabrik
  • Builder
  • Fabriksmetode
  • prototype
  • Singleton

Strukturel

Dem, der beskriver, hvordan klasser og objekter (enkle eller sammensatte) kan kombineres for at danne store strukturer og give nye funktioner. I denne klasse er følgende:

  • adapter
  • Bro
  • Composite
  • Dekoratør
  • facade
  • Fluevægt
  • proxy

adfærd

Dem, der hjælper os med at definere kommunikationen og iteration mellem objekterne i et system. Formålet med dette mønster er at reducere koblingen mellem objekter. I denne klasse er følgende:

  • Ansvarlighedskæde
  • Kommando
  • Tolk
  • iterator
  • Mægler
  • Memento
  • Observer
  • Tilstand
  • Strategi
  • Skabelonmetode
  • Visitor

andre

Tidligere designmønstre udtrykte skemaer, der definerer designstrukturer, hvormed softwaresystemer skal bygges. Men når vi bedre vil udtrykke en grundlæggende organisatorisk og strukturel ordning for de oprettede softwaresystemer, finder vi normalt denne anden klassifikation:

  • Skiferarkitektur
  • DAO: Dataadgangsobjekt
  • DTO: Dataoverførselsobjekt
  • EDA: Event Driven Architecture
  • Implicit påkaldelse
  • Nøgne genstande
  • Lagdelt programmering
  • Peer-to-peer
  • Pipeline
  • SOA: Serviceorienteret arkitektur
  • Tre niveauer

Der er også "Controller View Model" som er velkendt og brugt, og er opdelt i:

  • Model / View / Controller
  • Model / visning / præsentator
  • Model / View / Presenter med Model Presenter
  • Model / visning / visningsmodel
  • Model / visning / præsentator med passiv visning
  • Model / visning / præsentator med Supervisor Controller

være "Controller View Model" en af ​​de mest kendte og implementerede i dag, det er utilstrækkeligt at levere de krævede funktioner til en virksomhedsapplikation, og dette er en af ​​hovedårsagerne til, Microservices Architecture erstatter Model-View-Controller (MVC).

Mikrotjenester: Fordele

Fordele ved mikroservicearkitektur

Når en webplatform bruger Microservices Architecture, har den normalt følgende fordele:

  • resolver let hvert problem eller problem, der præsenteres, og som adresserer hver lille Microservice, der er involveret i en specifik situation.
  • At afbøde Generelle eller globale fejl i tjenesterne, da når en Microservice mislykkes, påvirker det ikke de andre, fordi de er helt uafhængige.
  • At lette lanceringen og inkorporeringen af ​​komplette eller specifikke funktioner eller tjenester, da hver Microservice kan tilføjes eller fjernes og opdateres separat og gradvis.
  • At blive bedre adgang til applikationer eller tjenester oprettet fra alle typer enheder og platforme.
  • øge platformens alsidighed, da Microservices kan distribueres på forskellige servere og skrives på forskellige sprog.

Mikrotjenester: rammer

Open Source Frameworks

der er mange open source-muligheder som softwareudviklere kan bruge til at udvikle løsninger, der er en del af Microservices Architectures. Specifikt for Java, som er en meget anvendt teknologi til dette, er der følgende:

Mikrotjenester: Webs

Webeksempler med mikrotjenestearkitekturer

Blandt det store antal websteder, der leverer store applikationstjenester og gradvist har implementeret Microservices Architecture for at forbedre vedligeholdelse og skalerbarhed af deres tjenester og produktplatform, hvilket gør det enkelt, effektivt og hurtigt, kan vi nævne tre store i branchen Hvad er de:

  • Amazon
  • Ebay
  • Netflix

Mikrotjenester: Konklusion

Konklusion

Det er klart at Microservices bidrager meget til moderne webbaseret softwareudviklingMen de betyder også at tackle mange nye udfordringer at løse. Problemer, der ikke kun har at gøre med Framework-læringen og arbejdet effektivt, men også hvordan disse nye udviklinger suppleres og implementeres i IT-afdelingerne, som i sidste ende er dem, der sætter dem online og administrerer dem og har en stemme om vægt i endelige beslutninger om hver udvikling. Men Denne arkitektur er her, og den er kommet for at blive i lang tid.


Indholdet af artiklen overholder vores principper for redaktionel etik. Klik på for at rapportere en fejl her.

Vær den første til at kommentere

Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.