A 'taghadh stoidhle ailtireachd (pàirt 2)

Halò, Habr. An-diugh tha mi a’ leantainn le sreath de fhoillseachaidhean a sgrìobh mi gu sònraichte airson sruth ùr den chùrsa a thòiseachadh. "ailtire bathar-bog".

Ro-ràdh

Is e an roghainn stoidhle ailtireachd aon de na co-dhùnaidhean teicnigeach bunaiteach nuair a thathar a’ togail siostam fiosrachaidh. Anns an t-sreath artaigilean seo, tha mi a 'moladh mion-sgrùdadh a dhèanamh air na stoidhlichean ailtireachd as mòr-chòrdte airson tagraidhean togail agus freagair a' cheist cuin dè an stoidhle ailtireachd as fheàrr. Anns a 'phròiseas taisbeanaidh, feuchaidh mi ri sreath loidsigeach a tharraing a mhìnicheas leasachadh stoidhlichean ailtireachd bho monoliths gu microservices.

В an turas mu dheireadh Dhèilig sinn ris a 'monolith agus thàinig sinn chun a' cho-dhùnaidh gu bheil grunn dhuilgheadasan aig a 'monolith: meud, ceangal, cleachdadh, scalability, earbsachd agus cruaidh.

An turas seo tha mi a 'moladh a bhith a' bruidhinn mu na cothroman a th 'ann siostam a chuir air dòigh mar sheata de mhodalan / leabharlannan (ailtireachd stèidhichte air co-phàirt) no seirbheisean (ailtireachd a tha ag amas air seirbheis).

Ailtireachd stèidhichte air co-phàirt

Tha ailtireachd stèidhichte air co-phàirtean a’ toirt a-steach siostam a chuir an gnìomh mar sheata de phàirtean a ghabhas cleachdadh ann am pròiseactan làithreach agus san àm ri teachd. Nuair a thèid siostam a bhriseadh sìos gu co-phàirtean, thathas a’ toirt aire do na leanas: an ath-chleachdadh, an ath-chleachdadh, neo-eisimeileachd co-theacsa, leudachadh, cuairteachadh agus neo-eisimeileachd.

Le cleachdadh ceart de cho-phàirtean, tha an duilgheadas "bàla mòr de shalachar" (meud mòr + ceangal àrd) air fhuasgladh, agus faodaidh na pàirtean fhèin a bhith nan aonadan cruinneachaidh (modalan, leabharlannan) agus aonadan cleachdadh (seirbheisean). Chan eil aonadan cleachdadh an-còmhnaidh air am mapadh don phròiseas ruith: mar eisimpleir, tha tagradh lìn agus stòr-dàta gan cleachdadh còmhla.

Mar as trice, bidh monoliths air an leasachadh mar sheata de mhodalan. Tha an dòigh-obrach seo a’ leantainn gu leasachadh neo-eisimeileach, ach tha duilgheadasan fhathast ann a thaobh sgèileadh is cleachdadh neo-eisimeileach, fulangas sgàinidhean agus neo-eisimeileachd bhon stac teicneòlais iomlan. Sin as coireach gu bheil am modal na phàirt gu ìre neo-eisimeileach.

Is e an duilgheadas as motha le leithid de monolith gu bheil an sgaradh ann am modalan dìreach loidsigeach agus gu bheil e furasta do luchd-leasachaidh a bhriseadh. Dh’ fhaodadh modal bunaiteach nochdadh, a thionndaidheas mean air mhean gu bhith na dhump sgudail, faodaidh an graf de eisimeileachd eadar modalan fàs, agus mar sin air adhart. Gus an leithid de dhuilgheadasan a sheachnadh, bu chòir leasachadh a bhith air a dhèanamh an dàrna cuid le sgioba gu math aibidh, no fo stiùireadh “ailtire” a tha an sàs ann an ath-sgrùdadh còd làn-ùine agus a bheir buaidh air làmhan luchd-leasachaidh a bhriseas an structar loidsigeach.

Tha am monolith “freagarrach” na sheata de mhodalan air an sgaradh gu loidsigeach, agus bidh gach fear dhiubh a’ coimhead a-steach don stòr-dàta aige fhèin.

Ailtireachd stèidhichte air seirbheis

Ma tha còir aig an t-siostam a bhith air a chuir air dòigh ann an cruth seata de sheirbheisean, tha sinn a’ bruidhinn mu dheidhinn ailtireachd a tha ag amas air seirbheis. Is e na prionnsapalan aige eadar-obrachalachd tagraidh stèidhichte air neach-cleachdaidh, ath-chleachdadh seirbheis gnìomhachais, neo-eisimeileachd stac teicneòlais, agus fèin-riaghladh (mean-fhàs neo-eisimeileach, scalability, agus cleachdadh).

Bidh ailtireachd stèidhichte air seirbheis (SOA = ailtireachd stèidhichte air seirbheis) a’ fuasgladh a h-uile duilgheadas comharraichte aig monolith: chan eil buaidh air ach aon sheirbheis nuair a thachras atharrachadh, agus tha API air a dheagh mhìneachadh a’ toirt taic do chruinneachadh math de phàirtean.

Ach chan eil a h-uile dad cho rèidh: tha SOA a’ cruthachadh dhuilgheadasan ùra. Tha fiosan iomallach nas daoire na feadhainn ionadail, agus tha ath-riarachadh dhleastanasan eadar co-phàirtean air fàs gu math nas daoire.

Air an t-slighe, tha comas cleachdadh neo-eisimeileach na fheart glè chudromach den t-seirbheis. Ma dh’ fheumas seirbheisean a bhith air an cleachdadh còmhla no, a bharrachd air sin, ann an sreath sònraichte, chan urrainnear beachdachadh air an t-siostam a bhith stèidhichte air seirbheis. Anns a 'chùis seo, tha iad a' bruidhinn mu dheidhinn monolith sgaoilte (air a mheas mar fhrith-phàtran chan ann a-mhàin bho shealladh SOA, ach cuideachd bho shealladh ailtireachd microservice).

Tha ailtireachd a tha ag amas air seirbheis a’ faighinn deagh thaic bhon choimhearsnachd ailtireachd agus luchd-reic. Tha seo a’ ciallachadh gu bheil mòran chùrsaichean agus theisteanasan ann, pàtrain adhartach. Tha an tè mu dheireadh a’ toirt a-steach, mar eisimpleir, am bus seirbheis iomairt ainmeil (ESB = bus seirbheis iomairt). Aig an aon àm, is e bagannan bho luchd-reic a th’ ann an ESB; chan fheum e a bhith air a chleachdadh ann an SOA.

Thàinig fèill mhòr air ailtireachd stèidhichte air seirbheis timcheall air 2008, agus às deidh sin thòisich e a ’crìonadh, a dh’ fhàs gu math nas drùidhtiche às deidh teachd microservices (~ 2015).

co-dhùnadh

Às deidh dhuinn beachdachadh air na cothroman air siostaman fiosrachaidh a chuir air dòigh ann an cruth sheirbheisean agus mhodalan, tha mi a ’moladh gluasad mu dheireadh air adhart gu prionnsapalan ailtireachd microservice agus aire shònraichte a thoirt don eadar-dhealachadh eadar ailtireachd microservice agus ailtireachd stèidhichte air seirbheis san ath phàirt.

A 'taghadh stoidhle ailtireachd (pàirt 2)

Source: www.habr.com

Cuir beachd ann