Wiel vun engem architektonesche Stil (Deel 3)

Moien, Habr. Haut ginn ech eng Serie vu Publikatiounen weider, déi ech speziell fir de Start vun engem neie Stream vum Cours geschriwwen hunn. "Software Architekt".

Aféierung

D'Wiel vum architektonesche Stil ass eng vun de fundamentalen techneschen Entscheedungen beim Bau vun engem Informatiounssystem. An dëser Serie vun Artikelen proposéieren ech déi populär architektonesch Stiler fir Bauapplikatiounen ze analyséieren an d'Fro ze beäntweren wéini wéi en architektonescht Stil am léifsten ass. Am Prozess vun der Presentatioun wäert ech probéieren eng logesch Kette ze zéien, déi d'Entwécklung vun architektonesche Stile vu Monolithen bis Mikroservicer erkläert.

Déi lescht Kéier hu mir iwwer déi verschidden Aarte vu Monolithen geschwat an d'Benotzung vu Komponenten fir se ze bauen, souwuel Baukomponenten wéi Installatiounskomponenten. Mir verstinn Service-orientéiert Architektur.

Elo wäerte mir endlech d'Haaptcharakteristike vun enger Mikroservicearchitektur definéieren.

Relatioun vun Architekturen

Et ass néideg ze verstoen datt baséiert op den Definitiounen, déi a fréieren Artikelen uginn, all Service e Bestanddeel ass, awer net all Service ass e Mikroservice.

Charakteristiken vun Microservice Architektur

D'Haaptcharakteristike vun der Mikroservicearchitektur sinn:

  • Organiséiert ronderëm Business Kënnen
  • Produkter net Projeten
  • Smart Endpunkter an domm Päifen
  • Dezentraliséiert Gouvernance
  • Dezentraliséiert Data Management
  • Infrastruktur Automatioun
  • Design fir Echec
  • Architektur mat evolutiver Entwécklung (Evolutionary Design)

Den 1. Punkt kënnt aus serviceorientéierter Architektur well Mikroservicer e spezielle Fall vu Servicer sinn. Aner Punkte verdéngen separat Iwwerleeung.

Organiséiert ronderëm Business Kënnen

Elo ass et néideg dem Conway säi Gesetz ze erënneren: Organisatiounen déi Systemer kreéieren organiséieren hir Architektur, kopéieren d'Struktur vun der Interaktioun bannent dësen Organisatiounen. Als Beispill kënne mir de Fall erënneren fir e Compiler ze kreéieren: e Team vu siwe Leit huet e siwen-Pass Compiler entwéckelt, an e Team vu fënnef entwéckelt e fënnef-Pass Compiler.

Wa mir iwwer Monolithen a Mikroservicer schwätzen, da wann d'Entwécklung vu funktionnelle Departementer organiséiert gëtt (Backend, Frontend, Datebank Administrateuren), da kréie mir e klassesche Monolith.

Fir Mikroservicer ze kréien, mussen d'Equipen no Geschäftsfäegkeet organiséiert ginn (Bestellungen, Sendungen, Katalogteam). Dës Organisatioun erlaabt Teams sech op spezifesch Deeler vun der Applikatioun ze konzentréieren.

Produkter net Projeten

E Projet Approche an deem e Team déi entwéckelt Funktionalitéit un aner Teams iwwerdréit ass komplett net gëeegent am Fall vun enger Mikroservicearchitektur. D'Team muss de System während hirem Liewenszyklus ënnerstëtzen. Amazon, ee vun de Leader an der Ëmsetzung vu Mikroservicer, sot: "Dir baut, Dir leeft et." D'Produkt Approche erlaabt d'Team d'Bedierfnesser vum Geschäft ze fillen.

Smart Endpunkter an domm Päifen

SOA Architektur huet grouss Opmierksamkeet op Kommunikatiounskanäl bezuelt, besonnesch den Enterprise Service Bus. Wat féiert dacks zu falschen Spaghetti Box, dat heescht, d'Komplexitéit vum Monolith gëtt an d'Komplexitéit vu Verbindungen tëscht Servicer. Microservice Architektur benotzt nëmmen einfach Kommunikatiounsmethoden.

Dezentraliséiert Gouvernance

Schlëssel Entscheedungen iwwer Mikroservicer solle vun de Leit gemaach ginn, déi d'Mikroservicer tatsächlech entwéckelen. Hei bedeiten Schlësselentscheedungen Choixen
programméiere Sproochen, Deployment Methodik, ëffentlech Interface Kontrakter, etc.

Dezentraliséiert Data Management

D'Standard Approche, an där d'Applikatioun op enger eenzeger Datebank hänkt, kann d'Spezifizitéite vun all spezifesche Service net berücksichtegen. MSA involvéiert dezentraliséiert Datemanagement, dorënner d'Benotzung vu verschiddenen Technologien.

Infrastruktur Automatioun

MSA ënnerstëtzt kontinuéierlech Détachement an Liwwerung Prozesser. Dëst kann nëmme erreecht ginn duerch Automatiséierungsprozesser. Zur selwechter Zäit gesäit eng grouss Zuel vu Servicer net méi aus wéi eppes Angscht. Den Ofbauprozess sollt langweileg ginn. Den zweeten Aspekt ass am Zesummenhang mat Servicemanagement an engem Produktëmfeld. Ouni Automatiséierung gëtt d'Gestioun vu Prozesser, déi a verschiddene Betribsëmfeld lafen, onméiglech.

Design fir Echec

Vill MSA Servicer sinn ufälleg fir Versoen. Zur selwechter Zäit ass Fehlerhandhabung an engem verdeelte System keng trivial Aufgab. D'Applikatiounsarchitektur muss resistent géint esou Feeler sinn. D'Rebecca Parsons mengt et ass ganz wichteg datt mir net emol d'In-Prozess-Kommunikatioun tëscht Servicer benotzen; amplaz réckelen mir op HTTP fir Kommunikatioun, wat net bal sou zouverlässeg ass.

Architektur mat evolutiver Entwécklung (Evolutionary Design)

D'Architektur vum MSA System soll evolutiv entwéckelen. Et ass ubruecht déi néideg Ännerungen un d'Grenze vun engem eenzege Service ze limitéieren. Den Impakt op aner Servicer muss och berücksichtegt ginn. Déi traditionell Approche ass ze probéieren dëse Problem mat der Versioun ze léisen, awer MSA proposéiert d'Versioun ze benotzen
als leschten Auswee.

Konklusioun

No all vun den uewe kënne mir formuléieren wat Mikroservicer sinn. Microservice Architektur ass eng Approche fir eng eenzeg Applikatioun als Sammlung vu klenge Servicer z'entwéckelen, jidderee leeft a sengem eegene Prozess an interagéiert duerch liicht Mechanismen, dacks HTTP Ressource APIen. Dës Servicer sinn op Geschäftsméiglechkeeten gebaut a kënnen onofhängeg mat voll ofgebaut ginn
automatiséiert Deployment Mechanismus. Et gëtt e Minimumsniveau vun der zentraliséierter Gestioun vun dëse Servicer, déi a verschiddene Programméierungssprooche geschriwwe kënne ginn a verschidde Datenspeichertechnologien benotzen.

Wiel vun engem architektonesche Stil (Deel 3)

Liest Deel 2

Source: will.com

Setzt e Commentaire