Prionsabail chun feidhmchláir nua-aimseartha a fhorbairt ó NGINX. Cuid 1

Dia dhaoibh a chairde. Ag súil le seoladh an chúrsa "Forbróir backend i PHP", go traidisiúnta roinnimid leat an t-aistriúchán ar ábhar úsáideach.

Réitíonn bogearraí níos mó fadhbanna laethúla, agus iad ag éirí níos casta. Mar a dúirt Marc Andreessen uair amháin, tá an domhan á chaitheamh aige.

Prionsabail chun feidhmchláir nua-aimseartha a fhorbairt ó NGINX. Cuid 1

Mar thoradh air sin, tá athrú mór tagtha le blianta beaga anuas ar an mbealach a fhorbraítear agus a sheachadtar feidhmchláir. Ba athruithe iad seo ar scála teicteonach a raibh sraith prionsabal mar thoradh orthu. Bhí na prionsabail seo ina gcuidiú le foireann a thógáil, le d’fheidhmchlár a dhearadh, a fhorbairt agus a sheachadadh chuig úsáideoirí deiridh.

Is féidir achoimre a dhéanamh ar na prionsabail mar seo a leanas: caithfidh an t-iarratas a bheith beag, gréasán-bhunaithe, agus ailtireacht fhorbróra-lárnach a bheith aige. Trí thógáil ar na trí phrionsabal seo, is féidir leat feidhmchlár láidir, deireadh go deireadh a chruthú ar féidir é a sheachadadh go tapa agus go slán don úsáideoir deiridh, agus atá inscálaithe agus insínte go héasca.

Prionsabail chun feidhmchláir nua-aimseartha a fhorbairt ó NGINX. Cuid 1

Tá roinnt gnéithe ag gach ceann de na prionsabail atá beartaithe a phléfaimid chun a thaispeáint conas a chuireann gach prionsabal leis an sprioc deiridh chun feidhmchláir iontaofa a sheachadadh go tapa atá éasca le cothabháil agus le húsáid. Breathnóimid ar phrionsabail i gcomparáid lena gcodarsnachtaí chun a shoiléiriú cad a chiallaíonn sé a rá, “Bí cinnte go n-úsáideann tú prionsabal an mhionlaigh'.

Tá súil againn go spreagfaidh an t-alt seo tú úsáid a bhaint as na prionsabail atá molta chun feidhmchláir nua-aimseartha a thógáil a sholáthróidh cur chuige aontaithe dearaidh i gcomhthéacs stoic teicneolaíochta atá ag méadú i gcónaí.

Trí na prionsabail seo a chur i bhfeidhm, beidh tú ag baint leasa as na treochtaí is déanaí i bhforbairt bogearraí, lena n-áirítear an DevOps le forbairt agus seachadadh feidhmchlár, úsáid coimeádán (mar shampla, dhugaire) agus creataí ceolfhoirne coimeádán (mar shampla, Kubernetes), úsáid microservices (lena n-áirítear Microservice Architecture nginx и ailtireacht líonra cumarsáide le haghaidh feidhmchláir microservice.

Cad is aip nua-aimseartha ann?

Feidhmchláir nua-aimseartha? Stack nua-aimseartha? Cad go díreach a chiallaíonn "nua-aimseartha"?

Níl ach buntuiscint ag formhór na bhforbróirí ar cad is feidhmchlár nua-aimseartha ann, mar sin is gá an coincheap seo a shainiú go soiléir.

Tacaíonn feidhmchlár nua-aimseartha le cliaint iolracha, bíodh sé ina chomhéadan úsáideora ag baint úsáide as leabharlann React JavaScript, feidhmchlár soghluaiste do Android nó iOS, nó feidhmchlár a nascann le ceann eile trí API. Ciallaíonn feidhmchlár nua-aimseartha go bhfuil líon éiginnte cliant ar fáil dá soláthraíonn sé sonraí nó seirbhísí.

Soláthraíonn feidhmchlár nua-aimseartha API chun rochtain a fháil ar na sonraí agus na seirbhísí iarrtha. Ba cheart go mbeadh an API do-athchurtha agus seasmhach, agus gan a bheith scríofa go sonrach le haghaidh iarratas sonrach ó chliant ar leith. Tá an API ar fáil thar HTTP(S) agus soláthraíonn sé rochtain ar an bhfeidhmiúlacht go léir atá le fáil sa GUI nó CLI.

Caithfidh sonraí a bheith ar fáil i bhformáid choiteann idir-inoibritheach ar nós JSON. Nochtann API réada agus seirbhísí i bhfoirm shoiléir eagraithe; mar shampla, soláthraíonn API RESTful nó GraphQL comhéadan réasúnta.

Tógtar iarratais nua-aimseartha ar chruach nua-aimseartha, agus is é stack nua-aimseartha an stack a thacaíonn le hiarratais den sórt sin, faoi seach. Ligeann an chairn seo don fhorbróir feidhmchlár a chruthú go héasca le comhéadan HTTP agus críochphointí soiléire API. Ligfidh an cur chuige a roghnaíonn tú d’iarratas sonraí a ghlacadh agus a sheoladh go héasca i bhformáid JSON. I bhfocail eile, comhfhreagraíonn an chairn nua-aimseartha do na gnéithe den Iarratas ar Dhá Dhéag Fachtóir micreasheirbhísí.

Tá leaganacha coitianta den chineál seo cruachta bunaithe ar java, Python, Nód, Ruby, PHP и Go. Ailtireacht microservice nginx is sampla é de chruach nua-aimseartha a cuireadh i bhfeidhm i ngach ceann de na teangacha a luaitear.

Tabhair faoi deara le do thoil nach bhfuil cur chuige micreasheirbhísí amháin á mholadh againn. Tá go leor agaibh ag obair le monoliths a bhfuil gá leo teacht chun cinn, agus tá daoine eile ag déileáil le feidhmchláir SOA atá ag leathnú agus ag teacht chun cinn le bheith ina n-iarratais microservice. Tá cuid eile fós ag bogadh i dtreo feidhmchláir gan fhreastalaí, agus tá cuid acu ag cur teaglaim díobh siúd thuas i bhfeidhm. Baineann na prionsabail a leagtar amach san Airteagal seo le gach ceann de na córais seo gan ach roinnt mionathruithe.

Prionsabail

Anois go bhfuil tuiscint bhunúsach againn ar cad is feidhmchlár nua-aimseartha agus cruach nua-aimseartha ann, tá sé in am dul i ngleic leis na prionsabail ailtireachta agus dearaidh a fhreastalóidh go maith ort agus tú ag dearadh, ag cur i bhfeidhm agus ag cothabháil feidhmchlár nua-aimseartha.

Is é ceann de na prionsabail ná “aipeanna beaga a thógáil”, a ligean ar a dtugtar díreach é prionsabal an mhionlaigh. Tá feidhmchláir thar a bheith casta ann a bhfuil go leor páirteanna gluaisteacha acu. Ina dhiaidh sin, trí fheidhmchlár a thógáil ó chomhpháirteanna beaga scoite beidh sé níos éasca é a dhearadh, a chothabháil agus a úsáid ar an iomlán. (Tabhair faoi deara go ndúirt muid “a dhéanann sé simplí” agus ní “déanann sé simplí é”).

Is é an dara prionsabal gur féidir linn táirgiúlacht fhorbróra a mhéadú trí chabhrú leo díriú ar na gnéithe atá á bhforbairt acu, agus iad a shaoradh ó bheith buartha faoi bhonneagar agus CI/CD le linn an chur i bhfeidhm. Mar sin, in achomair, ár gcur chuige dírithe ar an bhforbróir.

Ar deireadh, ní mór gach rud faoi d'iarratas a nascadh leis an líonra. Le 20 bliain anuas, tá dul chun cinn mór déanta againn i dtreo todhchaí líonraithe de réir mar a d’éirigh líonraí níos tapúla agus de réir mar a d’éirigh feidhmchláir níos casta. Mar atá feicthe againn cheana féin, caithfidh go leor cliant éagsúil feidhmchlár nua-aimseartha a úsáid thar líonra. Tá buntáistí suntasacha ag baint le smaointeoireacht líonra a chur i bhfeidhm ar ailtireacht a oireann go maith dó prionsabal an mhionlaigh agus coincheap an chur chuige, dírithe ar an bhforbróir.

Má choinníonn tú na prionsabail seo san áireamh agus feidhmchlár á dhearadh agus á chur i bhfeidhm agat, beidh buntáiste ar leith agat i bhforbairt agus i seachadadh do tháirge.

Breathnaímid ar na trí phrionsabal seo go mion.

An prionsabal na beag

Tá sé deacair don inchinn dhaonna méideanna móra faisnéise a bhrath ag an am céanna. I síceolaíocht, tagraíonn an téarma ualach cognaíocha don mhéid iomlán na hiarrachta meabhrach a theastaíonn chun faisnéis a choinneáil sa chuimhne. Is tosaíocht é an t-ualach cognaíocha ar fhorbróirí a laghdú mar is féidir leo díriú ansin ar an bhfadhb a réiteach in ionad múnla casta reatha an fheidhmchláir iomláin a shealbhú agus na gnéithe atá á bhforbairt ina gceann.

Prionsabail chun feidhmchláir nua-aimseartha a fhorbairt ó NGINX. Cuid 1

Déantar iarratais a dhianscaoileadh ar na cúiseanna seo a leanas:

  • An t-ualach cognaíocha ar fhorbróirí a laghdú;
  • Luasghéarú agus simpliú na tástála;
  • Seachadadh tapa athruithe ar an bhfeidhmchlár.


Tá roinnt bealaí ann chun an t-ualach cognaíocha ar fhorbróirí a laghdú, agus is é seo an áit a dtagann prionsabal an mhionlaigh i bhfeidhm.

Mar sin, trí bhealach chun ualach cognaíocha a laghdú:

  1. Laghdaigh an t-amscála a chaithfidh siad a chur san áireamh agus gné nua á forbairt acu – dá ghairid an fráma ama, is lú an t-ualach cognaíocha.
  2. Laghdaigh an méid cód a bhfuiltear ag obair air ag an am - níos lú cód - níos lú ualach.
  3. Simpligh an próiseas chun athruithe incriminteacha a dhéanamh ar d’iarratas.

Frámaí ama forbartha laghdaithe

A ligean ar dul ar ais go dtí na hamanna nuair modheolaíocht waterfall an caighdeán don phróiseas forbartha, agus ba chleachtas comónta é frámaí ama sé mhí go dhá bhliain chun feidhmchlár a fhorbairt nó a nuashonrú. Go hiondúil, léifeadh innealtóirí doiciméid ábhartha ar dtús mar riachtanais táirge (PRD), doiciméad tagartha córais (SRD), plean ailtireachta, agus tosódh siad ar na rudaí seo go léir a chomhtháthú le chéile i múnla cognaíocha amháin ar dá réir a scríobh siad cód. De réir mar a d’athraigh na ceanglais, agus mar sin an ailtireacht, b’éigean iarrachtaí suntasacha a dhéanamh an fhoireann iomlán a choinneáil ar an eolas faoi nuashonruithe ar an tsamhail chognaíoch. Sa chás is measa, d’fhéadfadh an cur chuige seo pairilis a thabhairt don obair.

Ba é an t-athrú is mó ar an bpróiseas forbartha iarratais ná tabhairt isteach na modheolaíochta lúfar. Ceann de phríomhghnéithe na modheolaíochta agile - Is forbairt atriallach é seo. Mar thoradh air seo, laghdaítear an t-ualach cognaíocha ar innealtóirí. In ionad a cheangal ar an bhfoireann forbartha an t-iarratas a chur i bhfeidhm i dtimthriall fada amháin, agile Ligeann an cur chuige duit díriú ar mhéideanna beaga cód ar féidir iad a thástáil agus a imscaradh go tapa, agus aiseolas a fháil freisin. Tá ualach cognaíocha iarratais aistrithe ó fhráma ama sé mhí go dhá bhliain, le líon mór sonraíochtaí, go breisiú nó athrú gné dhá sheachtain, ag díriú ar thuiscint níos idirleata ar iarratas mór.

Is athrú suntasach é an fócas a aistriú ó fheidhmchlár ollmhór go gnéithe beaga sonracha is féidir a chomhlánú i rith coicíse, ag breathnú chun cinn ar níos mó ná gné amháin ón gcéad sprint eile. D'fhág sé seo gur féidir táirgiúlacht forbartha a mhéadú agus an t-ualach cognaíocha a laghdú, a bhí ag síorathrú.

Sa mhodheolaíocht agile táthar ag súil go mbeidh an t-iarratas deiridh ina leagan beagán modhnaithe den choincheap bunaidh, agus mar sin tá an pointe forbartha deiridh gá débhríoch. Ní féidir ach torthaí gach sprint ar leith a bheith soiléir agus beacht.

Bunúsanna beaga cóid

Is é an chéad chéim eile chun ualach cognaíocha a laghdú ná an bonn cód a laghdú. Go hiondúil, bíonn feidhmchláir nua-aimseartha ollmhór – d’fhéadfadh go mbeadh na mílte comhad agus na céadta mílte línte cód i bhfeidhmchlár láidir fiontraíochta. Ag brath ar eagrú na gcomhad, d'fhéadfadh nó nach mbeidh na naisc agus na spleáchais idir an cód agus na comhaid soiléir. D'fhéadfadh fadhbanna a bheith ag baint le dífhabhtú an chóid féin fiú, ag brath ar na leabharlanna a úsáidtear agus cé chomh maith agus a dhéanann na huirlisí dífhabhtaithe idirdhealú idir leabharlanna/pacáistí/modúil agus cód úsáideora.

Is féidir le tógáil múnla meabhrach oibre de chód iarratais go leor ama a ghlacadh, arís ag cur ualach mór cognaíocha ar an bhforbróir. Tá sé seo fíor go háirithe do bhunachar cód monolithic, áit a bhfuil líon mór cód, níl na hidirghníomhaíochtaí idir comhpháirteanna feidhmiúla sainmhínithe go soiléir, agus is minic go mbíonn scaradh rudaí aird doiléir toisc nach bhfuil meas ar theorainneacha feidhmiúla.

Bealach éifeachtach amháin chun an t-ualach cognaíocha ar innealtóirí a laghdú ná aistriú chuig ailtireacht micrisheirbhísí. I gcur chuige microservice, díríonn gach seirbhís ar shraith amháin feidhmeanna; is gnách brí na seirbhíse a shainmhíniú agus a thuiscint. Tá teorainneacha na seirbhíse soiléir freisin - cuimhnigh go ndéantar cumarsáid leis an tseirbhís ag baint úsáide as API, agus mar sin is féidir sonraí a ghineann seirbhís amháin a aistriú go ceann eile go héasca.

Is gnách go mbíonn an t-idirghníomhú le seirbhísí eile teoranta do chúpla seirbhís úsáideora agus do roinnt seirbhísí soláthraithe a úsáideann glaonna API simplí agus glan, mar shampla REST. Ciallaíonn sé seo go laghdaítear an t-ualach cognaíocha ar an innealtóir go mór. Is é an dúshlán is mó fós an tsamhail idirghníomhaíochta seirbhíse a thuiscint agus conas a tharlaíonn rudaí cosúil le hidirbhearta thar ilseirbhísí. I ndeireadh na dála, laghdaítear an t-ualach cognaíocha trí úsáid a bhaint as microservices trí mhéid an chóid a laghdú, teorainneacha soiléire seirbhíse a shainiú, agus léargas a sholáthar ar an gcaidreamh idir an t-úsáideoir agus an soláthraí.

Athruithe incriminteacha beaga

An ghné dheireanach den phrionsabal beagán is bainistíocht athraithe é. Tá sé tempting go háirithe d'fhorbróirí breathnú ar bhonn cód (fiú b'fhéidir a gcód féin, níos sine) agus a rá, "Is cacamas é seo, ní mór dúinn an rud iomlán seo a athscríobh." Uaireanta is é an cinneadh ceart é, agus uaireanta ní bhíonn. Cuireann sé ualach na n-athruithe múnla domhanda ar an bhfoireann forbartha, rud a mbíonn ualach cognaíocha ollmhór mar thoradh air. Is fearr d’innealtóirí díriú ar na hathruithe is féidir leo a dhéanamh le linn na sprint, ionas gur féidir leo an fheidhmiúlacht riachtanach a rolladh amach go tráthúil, cé gur de réir a chéile iad. Ba cheart go mbeadh an táirge deiridh cosúil leis an gceann réamh-phleanáilte, ach le roinnt modhnuithe agus tástála chun freastal ar riachtanais an chliaint.

Nuair a bhíonn codanna móra de chód á n-athscríobh, uaireanta bíonn sé dodhéanta athrú a sheachadadh go tapa toisc go dtagann spleáchais eile ar an gcóras i bhfeidhm. D'fhonn sreabhadh na n-athruithe a rialú, is féidir leat gné i bhfolach a úsáid. Go bunúsach, ciallaíonn sé seo go bhfuil an fheidhmiúlacht ann i dtáirgeadh, ach níl sé ar fáil trí shocruithe athróg timpeallachta (env-var) nó aon mheicníocht cumraíochta eile. Má tá an cód tar éis gach próiseas rialaithe cáilíochta a rith, féadfaidh sé deireadh a chur le táirgeadh i stát i bhfolach. Mar sin féin, ní oibríonn an straitéis seo ach amháin má tá an ghné cumasaithe sa deireadh. Seachas sin, ní dhéanfaidh sé ach tranglam ar an gcód agus cuirfidh sé ualach cognaíocha leis a mbeidh ar an bhforbróir dul i ngleic leis le bheith táirgiúil. Cuidíonn bainistíocht athruithe agus athruithe incriminteacha iad féin le hualach cognaíocha na bhforbróirí a choinneáil ar leibhéal inrochtana.

Ní mór d’innealtóirí go leor deacrachtaí a shárú fiú agus feidhmiúlacht bhreise á cur i bhfeidhm acu. Bheadh ​​sé ciallmhar don bhainistíocht an t-ualach oibre neamhriachtanach ar an bhfoireann a laghdú ionas gur féidir leo díriú ar phríomhghnéithe feidhmiúlachta. Tá trí rud is féidir leat a dhéanamh chun cabhrú le d’fhoireann forbartha:

  1. Úsáid modheolaíocht agile, chun teorainn a chur leis an bhfráma ama ina gcaithfidh an fhoireann díriú ar phríomhghnéithe.
  2. Cuir d'iarratas i bhfeidhm mar roinnt micreasheirbhísí. Cuirfidh sé seo teorainn le líon na ngnéithe a thugtar isteach agus neartóidh sé na teorainneacha a chuimsíonn ualach cognaíocha agus iad ag obair.
  3. Is fearr le hathruithe incriminteacha ná cinn mhóra anacair, athraigh píosaí beaga cód. Bain úsáid as gné i bhfolach chun athruithe a chur i bhfeidhm fiú mura mbeidh siad le feiceáil díreach tar éis iad a chur leis.

Má chuireann tú prionsabal an mhionlaigh i bhfeidhm i do chuid oibre, beidh d’fhoireann i bhfad níos sona, díreofar níos fearr ar na gnéithe riachtanacha a sheachadadh, agus is dóichí go mbainfidh tú athruithe cáilíochta amach níos tapúla. Ach ní chiallaíonn sé seo nach féidir leis an obair a bheith níos casta; uaireanta, ar a mhalairt, tá gá le modhnú ar roinnt seirbhísí chun feidhmiúlacht nua a thabhairt isteach agus d’fhéadfadh an próiseas seo a bheith níos casta ná an próiseas céanna in ailtireacht mhonailiteach. In aon chás, is fiú beagán fiú na buntáistí a bhaineann leis an gcur chuige a úsáid.

Deireadh an chéad chuid.

Foilseoidh muid an dara cuid den aistriúchán go luath, ach anois táimid ag fanacht le do thuairimí agus le cuireadh a thabhairt duit Lá Oscailte, a bheidh ar siúl inniu ag 20.00.

Foinse: will.com

Add a comment