Dewis arddull pensaernïol (rhan 3)

Helo, Habr. Heddiw rwy’n parhau â chyfres o gyhoeddiadau a ysgrifennais yn benodol ar gyfer dechrau ffrwd newydd o’r cwrs. "Pensaer Meddalwedd".

Cyflwyniad

Mae'r dewis o arddull pensaernïol yn un o'r penderfyniadau technegol sylfaenol wrth adeiladu system wybodaeth. Yn y gyfres hon o erthyglau, rwy'n bwriadu dadansoddi'r arddulliau pensaernïol mwyaf poblogaidd ar gyfer ceisiadau adeiladu ac ateb y cwestiwn pryd pa arddull bensaernïol sydd fwyaf ffafriol. Yn y broses o gyflwyno, byddaf yn ceisio llunio cadwyn resymegol sy'n esbonio datblygiad arddulliau pensaernïol o fonolithau i ficrowasanaethau.

Y tro diwethaf buom yn siarad am y gwahanol fathau o fonolithau a'r defnydd o gydrannau i'w hadeiladu, yn gydrannau adeiladu a chydrannau lleoli. Rydym yn deall pensaernïaeth sy'n canolbwyntio ar wasanaethau.

Nawr byddwn yn olaf yn diffinio prif nodweddion pensaernïaeth microwasanaeth.

Perthynas pensaernïaeth

Mae angen deall, yn seiliedig ar y diffiniadau a roddwyd mewn erthyglau blaenorol, fod unrhyw wasanaeth yn gydran, ond nid yw pob gwasanaeth yn ficrowasanaeth.

Nodweddion Pensaernïaeth Microwasanaeth

Prif nodweddion pensaernïaeth microwasanaeth yw:

  • Wedi'i drefnu o amgylch Galluoedd Busnes
  • Cynhyrchion nid Prosiectau
  • Mannau terfyn smart a phibellau fud
  • Llywodraethu Datganoledig
  • Rheoli Data Datganoledig
  • Awtomeiddio Isadeiledd
  • Dyluniad ar gyfer methiant
  • Pensaernïaeth gyda datblygiad esblygiadol (Dylunio Esblygiadol)

Daw'r pwynt 1af o bensaernïaeth sy'n canolbwyntio ar wasanaethau oherwydd bod microwasanaethau yn achos arbennig o wasanaethau. Mae pwyntiau eraill yn haeddu ystyriaeth ar wahân.

Wedi'i drefnu o amgylch Galluoedd Busnes

Nawr mae angen cofio cyfraith Conway: mae sefydliadau sy'n creu systemau yn trefnu ei bensaernïaeth, gan gopïo strwythur rhyngweithio o fewn y sefydliadau hyn. Er enghraifft, gallwn ddwyn i gof achos creu casglwr: datblygodd tîm o saith o bobl casglwr saith pas, a datblygodd tîm o bump casglwr pum pas.

Os ydym yn sôn am monolithau a microwasanaethau, yna os trefnir datblygiad gan adrannau swyddogaethol (backend, frontend, gweinyddwyr cronfa ddata), yna cawn monolith clasurol.

I gael microwasanaethau, rhaid i dimau gael eu trefnu yn ôl gallu busnes (archebion, llwythi, tîm catalog). Bydd y sefydliad hwn yn caniatáu i dimau ganolbwyntio ar adeiladu rhannau penodol o'r cais.

Cynhyrchion nid Prosiectau

Mae dull prosiect lle mae tîm yn trosglwyddo'r swyddogaeth ddatblygedig i dimau eraill yn gwbl anaddas yn achos pensaernïaeth microwasanaeth. Rhaid i'r tîm gefnogi'r system trwy gydol ei gylch bywyd. Dywedodd Amazon, un o'r arweinwyr wrth weithredu microwasanaethau: “rydych chi'n adeiladu, rydych chi'n ei redeg.” Mae'r dull cynnyrch yn caniatáu i'r tîm deimlo anghenion y busnes.

Mannau terfyn smart a phibellau fud

Rhoddodd pensaernïaeth SOA sylw mawr i sianeli cyfathrebu, yn enwedig y Bws Gwasanaeth Menter. Sy'n aml yn arwain at Gwallus Spaghetti Box, hynny yw, cymhlethdod y monolith yn troi i mewn i gymhlethdod cysylltiadau rhwng gwasanaethau. Mae pensaernïaeth microservice yn defnyddio dulliau cyfathrebu syml yn unig.

Llywodraethu Datganoledig

Dylai penderfyniadau allweddol am ficrowasanaethau gael eu gwneud gan y bobl sy'n datblygu'r microwasanaethau mewn gwirionedd. Yma, mae penderfyniadau allweddol yn golygu dewisiadau
ieithoedd rhaglennu, methodoleg defnyddio, contractau rhyngwyneb cyhoeddus, ac ati.

Rheoli Data Datganoledig

Ni all y dull safonol, lle mae'r rhaglen yn dibynnu ar un gronfa ddata, ystyried manylion pob gwasanaeth penodol. Mae MSA yn cynnwys rheoli data datganoledig, gan gynnwys defnyddio technolegau amrywiol.

Awtomeiddio Isadeiledd

Mae MSA yn cefnogi prosesau lleoli a darparu parhaus. Dim ond trwy awtomeiddio prosesau y gellir cyflawni hyn. Ar yr un pryd, nid yw defnyddio nifer fawr o wasanaethau bellach yn edrych fel rhywbeth brawychus. Dylai'r broses leoli fod yn ddiflas. Mae'r ail agwedd yn ymwneud â rheoli gwasanaeth mewn amgylchedd cynnyrch. Heb awtomeiddio, mae rheoli prosesau sy'n rhedeg mewn gwahanol amgylcheddau gweithredu yn dod yn amhosibl.

Dyluniad ar gyfer methiant

Mae nifer o wasanaethau MSA yn dueddol o fethu. Ar yr un pryd, nid yw trin gwallau mewn system ddosbarthedig yn dasg ddibwys. Rhaid i saernïaeth cymhwysiad allu gwrthsefyll methiannau o'r fath. Mae Rebecca Parsons yn meddwl ei bod yn bwysig iawn nad ydym bellach hyd yn oed yn defnyddio cyfathrebu yn y broses rhwng gwasanaethau; yn hytrach, rydym yn troi at HTTP ar gyfer cyfathrebu, nad yw bron mor ddibynadwy.

Pensaernïaeth gyda datblygiad esblygiadol (Dylunio Esblygiadol)

Dylai pensaernïaeth y system MSA ddatblygu'n esblygiadol. Mae'n ddoeth cyfyngu ar y newidiadau angenrheidiol i ffiniau un gwasanaeth. Rhaid ystyried yr effaith ar wasanaethau eraill hefyd. Y dull traddodiadol yw ceisio datrys y broblem hon gyda fersiynau, ond mae MSA yn awgrymu defnyddio fersiwn i mewn
fel dewis olaf.

Casgliad

Ar ôl yr uchod i gyd, gallwn lunio beth yw microwasanaethau. Mae pensaernïaeth microwasanaeth yn ddull o ddatblygu un cymhwysiad fel casgliad o wasanaethau bach, pob un yn rhedeg yn ei broses ei hun ac yn rhyngweithio trwy fecanweithiau ysgafn, yn aml yn API adnoddau HTTP. Mae'r gwasanaethau hyn yn seiliedig ar alluoedd busnes a gellir eu defnyddio'n annibynnol yn llawn
mecanwaith lleoli awtomataidd. Mae lefel ofynnol o reolaeth ganolog ar y gwasanaethau hyn, y gellir eu hysgrifennu mewn gwahanol ieithoedd rhaglennu a defnyddio gwahanol dechnolegau storio data.

Dewis arddull pensaernïol (rhan 3)

Darllenwch rhan 2

Ffynhonnell: hab.com

Ychwanegu sylw