Microservices: dè a th’ annta, carson a tha iad agus cuin a bu chòir an cur an gnìomh

Bha mi airson artaigil a sgrìobhadh air cuspair ailtireachd microservice airson ùine mhòr, ach chùm dà rud stad orm - mar as fhaide a chaidh mi a-steach don chuspair, is ann as motha a bha e coltach riumsa gu bheil na tha fios agam follaiseach, agus na nì mi ' feumaidh t eòlas a bhith air a sgrùdadh agus air a sgrùdadh. Air an làimh eile, tha mi a’ smaoineachadh gu bheil rudeigin ann mu thràth ri dheasbad am measg luchd-èisteachd farsaing. Mar sin tha fàilte air beachdan eile.

Lagh Chonway agus an dàimh eadar gnìomhachas, eagrachadh agus siostam fiosrachaidh

A-rithist leigidh mi leam fhìn iomradh a thoirt air:

“Gheibh buidheann sam bith a dhealbhaicheas siostam (san t-seagh fharsaing) dealbhadh aig a bheil structar a’ riochdachadh structar nan sgiobaidhean sa bhuidheann sin."
— Melvyn Conway, 1967

Nam bheachd-sa, tha an lagh seo nas dualtaiche a bhith co-cheangailte ri comasachd gnìomhachas a chuir air dòigh, seach gu dìreach ris an t-siostam fiosrachaidh. Leig dhomh mìneachadh le eisimpleir. Canaidh sinn gu bheil cothrom gnìomhachais gu math seasmhach againn le cearcall-beatha cho fada is gu bheil e ciallach iomairt a chuir air dòigh (chan e typo a tha seo, ach is toil leam an teirm seo a ghoid mi) Gu nàdarra, siostam taic a’ ghnìomhachais seo. a fhreagras gu eagrachail agus gu pròiseasach ris a’ ghnìomhachas seo.

Stiùireadh gnìomhachais siostaman fiosrachaidh

Microservices: dè a th’ annta, carson a tha iad agus cuin a bu chòir an cur an gnìomh

Leig dhomh mìneachadh le eisimpleir. Canaidh sinn gu bheil cothrom gnìomhachais ann gnìomhachas a chuir air dòigh a’ reic piotsa. Anns an dreach V1 (canaidh sinn ro-fhiosrachadh ris), bha a’ chompanaidh na pizzeria, clàr airgid, agus seirbheis lìbhrigidh. Bha an dreach seo air a bhith beò o chionn fhada ann an suidheachaidhean le caochlaidheachd àrainneachd ìosal. An uairsin thàinig dreach 2 na àite - nas adhartaiche agus comasach air siostam fiosrachaidh a chleachdadh aig cridhe gnìomhachas le ailtireachd monolithic. Agus an seo, nam bheachd-sa, tha dìreach ana-ceartas uamhasach ann an co-cheangal ris na monoliths - a rèir aithris chan eil ailtireachd monolithic a’ freagairt ri modal gnìomhachais an fhearainn. Seadh, nam biodh seo mar sin, cha bhiodh an siostam comasach air obrachadh idir - an aghaidh an aon lagh agus ciall cumanta aig Conway. Chan e, tha ailtireachd monolithic gu tur co-chòrdail ris a 'mhodail gnìomhachais aig an ìre seo de leasachadh gnìomhachais - tha mi, gu dearbh, a' ciallachadh an ìre nuair a tha an siostam air a chruthachadh agus air a chur an gnìomh mar-thà. Tha e na fhìrinn iongantach, ge bith dè an dòigh ailtireil a th’ ann, gun obraich an dà chuid an dreach ailtireachd stèidhichte air seirbheis 3 agus dreach ailtireachd microservices N a cheart cho math. Dè an glacadh?

Bidh a h-uile càil a’ sruthadh, bidh a h-uile càil ag atharrachadh, no a bheil microservices mar dhòigh air cuir an-aghaidh iom-fhillteachd?

Mus lean sinn air adhart, leig dhuinn sùil a thoirt air cuid de mhì-thuigse mu ailtireachd microservice.

Bidh luchd-taic a bhith a’ cleachdadh dòigh-obrach microservice gu tric ag argamaid gu bheil briseadh monolith gu microservices a’ sìmpleachadh an dòigh leasachaidh le bhith a’ lughdachadh bunait còd seirbheisean fa leth. Nam bheachd-sa, tha an aithris seo na neòlas iomlan. Gu dona, tha coltas gu bheil an eadar-obrachadh follaiseach taobh a-staigh còd monolith agus aon-ghnèitheach iom-fhillte? Nam biodh seo fìor, bhiodh a h-uile pròiseact air a thogail an toiseach mar mhicro-sheirbheisean, fhad ‘s a tha cleachdadh a’ sealltainn gu bheil imrich bho monolith gu microservices mòran nas cumanta. Cha bhith iom-fhillteachd a’ dol à bith; bidh e dìreach a’ gluasad bho mhodalan fa leth gu eadar-aghaidh (ge bith an e busaichean dàta, RPC, APIan, agus protocolaidhean eile) agus siostaman orcastra. Agus tha seo duilich!

Tha e teagmhach cuideachd a ’bhuannachd a bhith a’ cleachdadh stac heterogeneous. Cha bhith mi ag argamaid gu bheil seo comasach cuideachd, ach ann an da-rìribh is ann ainneamh a bhios e a ’tachairt (A’ coimhead air adhart - bu chòir seo tachairt - ach mar thoradh air sin na bhuannachd).

Cearcall beatha toraidh agus cearcall beatha seirbheis

Thoir sùil eile air an diagram gu h-àrd. Chan e co-thuiteamas a th’ ann gun tug mi fa-near an lùghdachadh ann an cearcall beatha dreach fa leth de ghnìomhachas - ann an suidheachaidhean an latha an-diugh, is e luathachadh gluasad gnìomhachais eadar dreachan a tha cinnteach airson a shoirbheachadh. Tha soirbheachas toradh air a dhearbhadh leis an astar a bhithear a’ dèanamh deuchainn air barailean gnìomhachais ann. Agus an seo, nam bheachd-sa, tha prìomh bhuannachd ailtireachd microservice. Ach rachamaid ann an òrdugh.

Gluaisidh sinn air adhart chun ath ìre ann an mean-fhàs siostaman fiosrachaidh - gu ailtireachd seirbheis SOA. Mar sin, aig àm sònraichte a chomharraich sinn san toradh againn seirbhisean fad-beatha - air a bhith beò o chionn fhada anns an fhaireachdainn, nuair a ghluaiseas tu eadar dreachan toraidh, gu bheil teansa ann gum bi cearcall-beatha na seirbheis nas fhaide na cearcall-beatha an ath dhreach den toradh. Bhiodh e loidsigeach gun a bhith gan atharrachadh idir - sinne Is e an rud a tha cudromach an astar gluasaid chun ath dhreach. Ach gu mì-fhortanach, feumaidh sinn atharrachaidhean cunbhalach a dhèanamh air seirbheisean - agus an seo tha a h-uile dad ag obair dhuinn, cleachdaidhean DevOps, containerization, agus mar sin air adhart - a h-uile dad a thig gu inntinn. Ach chan e meanbh-sheirbheisean a tha seo fhathast!

Microservices mar dhòigh air cuir an-aghaidh iom-fhillteachd... riaghladh rèiteachaidh

Agus an seo is urrainn dhuinn mu dheireadh gluasad air adhart gu àite sònraichte microservices - is e dòigh-obrach a tha seo a tha a ’sìmpleachadh riaghladh rèiteachadh toraidh. Nas mionaidiche, tha gnìomh gach microservice a 'toirt cunntas mionaideach air gnìomh gnìomhachais taobh a-staigh an toraidh a rèir a' mhodail àrainn - agus is iad sin rudan a tha beò chan ann ann an dreach geàrr-ùine, ach ann an cothrom gnìomhachais fad-ùine. Agus bidh an gluasad chun ath dhreach den toradh a ’tachairt gu litearra gun mhothachadh - bidh thu ag atharrachadh / a’ cur aon mhicro-sheirbheis, agus is dòcha dìreach sgeama an eadar-obrachaidh aca, agus gu h-obann lorgaidh tu thu fhèin san àm ri teachd, a ’fàgail farpaisich a’ caoineadh a chumas orra a ’leum eadar dreachan de na monoliths aca. A-nis smaoinich gu bheil àireamh meadhanach mòr de mhicro-sheirbheisean ann le eadar-aghaidh ro-mhìnichte agus comasan gnìomhachais. Agus bidh thu a 'tighinn agus a' togail structar an toraidh agad bho mhicro-sheirbheisean deiseil - dìreach le bhith a 'tarraing diagram, mar eisimpleir. Mealaibh ur naidheachd - tha àrd-ùrlar agad - agus a-nis faodaidh tu gnìomhachas a thàladh dhut fhèin. Dreams Dreams.

toraidhean

  • Bu chòir ailtireachd an t-siostam a bhith air a dhearbhadh le cearcall beatha a cho-phàirtean. Ma tha co-phàirt a’ fuireach taobh a-staigh dreach toraidh, chan eil feum ann a bhith ag àrdachadh iom-fhillteachd an t-siostaim le bhith a’ cleachdadh dòigh-obrach microservice.
  • Bu chòir ailtireachd microservice a bhith stèidhichte air a 'mhodail àrainn - oir is e an cothrom gnìomhachais an raon as fhaide a tha beò
  • Tha cleachdaidhean lìbhrigidh (cleachdaidhean DevOps) agus orchestration mar aon den fheadhainn as cudromaiche airson ailtireachd microservice - air an adhbhar gu bheil àrdachadh ann an ìre atharrachaidh phàirtean a’ cur barrachd iarrtasan air astar agus càileachd lìbhrigidh.

Source: www.habr.com

Cuir beachd ann