Eachdraidh Ailtireachd Dodo IS: Monolith Tràth

No tha a h-uile companaidh mì-thoilichte le monolith mì-thoilichte na dhòigh fhèin.

Thòisich leasachadh siostam Dodo IS sa bhad, mar an gnìomhachas Dodo Pizza - ann an 2011. Bha e stèidhichte air a 'bheachd a bhith a' digiteachadh iomlan agus iomlan de phròiseasan gnìomhachais, agus air an cuid fhèin, a thog eadhon an uairsin ann an 2011 mòran cheistean agus amharas. Ach airson 9 bliadhna a-nis tha sinn air a bhith a 'leantainn na slighe seo - le ar leasachadh fhèin, a thòisich le monolith.

Is e an artaigil seo am “freagairt” do na ceistean “Carson a sgrìobhas tu an ailtireachd agus dèan atharrachaidhean cho mòr agus fad-ùine?” don artaigil roimhe “Eachdraidh ailtireachd Dodo IS: slighe na h-oifis cùil”. Tòisichidh mi le mar a thòisich leasachadh Dodo IS, cò ris a bha an ailtireachd tùsail coltach, mar a nochd modalan ùra, agus air sgàth nan duilgheadasan a dh’ fheumadh atharrachaidhean mòra a dhèanamh.

Eachdraidh Ailtireachd Dodo IS: Monolith Tràth

Sreath de artaigilean "Dè a th 'ann an Dodo IS?" ag innse mu dheidhinn:

  1. Monolith tràth ann an Dodo IS (2011-2015). (Tha thu an seo)

  2. Slighe Oifis a’ Chùil: Ionadan is Bus air leth.

  3. An t-slighe taobh teachdaiche: aghaidh thairis air a’ bhunait (2016-2017). (A’ dèanamh adhartais...)

  4. Eachdraidh fìor microservices. (2018-2019). (A’ dèanamh adhartais...)

  5. Chrìochnaich sàbhadh an monolith agus seasmhachd na h-ailtireachd. (A’ dèanamh adhartais...)

Prìomh-ailtireachd

Ann an 2011, bha ailtireachd Dodo IS a’ coimhead mar seo:

Eachdraidh Ailtireachd Dodo IS: Monolith Tràth

Is e a’ chiad mhodal san ailtireachd gabhail ri òrdugh. Bha am pròiseas gnìomhachais mar seo:

  • bidh neach-ceannach a 'gairm pizzeria;

  • Bidh am manaidsear a 'togail am fòn;

  • gabhail òrdughan air a 'fòn;

  • Aig an aon àm, bidh e ga lìonadh ann an eadar-aghaidh gabhail ri òrdugh: thathas a ’toirt aire do fhiosrachadh mun neach-dèiligidh, dàta air mion-fhiosrachadh òrduigh, agus seòladh lìbhrigidh. 

Bha eadar-aghaidh an t-siostam fiosrachaidh a’ coimhead rudeigin mar seo ...

A’ chiad dreach bhon Dàmhair 2011:

Beagan nas fheàrr san Fhaoilleach 2012

Siostam fiosrachaidh Taigh-bìdh Pizza Lìbhrigeadh Dodo Pizza

Cha robh mòran ghoireasan airson a' chiad mhodal gabhail òrdugh a leasachadh. Bha e riatanach tòrr a dhèanamh, gu sgiobalta agus le sgioba beag. Tha an sgioba bheag air a dhèanamh suas de 2 leasaiche a chuir bunait airson an t-siostam gu lèir san àm ri teachd.

Cho-dhùin a’ chiad cho-dhùnadh aca na thachair don chruach teicneòlais san àm ri teachd:

  • Cùl-taic air ASP.NET MVC, cànan C#. Bha an luchd-leasachaidh nan dotnetters; bha a’ chruach seo eòlach agus taitneach dhaibh.

  • Frontend air Bootstrap agus JQuery: eadar-aghaidh cleachdaiche stèidhichte air stoidhlichean àbhaisteach agus sgriobtaichean. 

  • Stòr-dàta MySQL: gun chosgais cead, furasta a chleachdadh.

  • Frithealaichean air Windows Server, oir cha b’ urrainn .NET a bhith ach air Windows (cha bhith sinn a’ bruidhinn air Mono).

Gu corporra, chaidh seo uile a chuir an cèill ann an “deasg an neach-aoigheachd.” 

Ailtireachd an iarrtas gabhail ri òrdugh

Aig an àm sin, bha a h-uile duine mu thràth a 'bruidhinn mu dheidhinn meanbh-sheirbheisean, agus chaidh SOA a chleachdadh ann am pròiseactan mòra airson timcheall air 5 bliadhna, mar eisimpleir, chaidh WCF a leigeil ma sgaoil ann an 2006. Ach an uairsin thagh iad fuasgladh earbsach agus dearbhte.

Seo e.

Eachdraidh Ailtireachd Dodo IS: Monolith Tràth

Is e Razor a th’ ann an Asp.Net MVC, a bhios, le iarrtas bho fhoirm no bho neach-dèiligidh, a’ toirt a-mach duilleag HTML le render air an fhrithealaiche. Air an neach-dèiligidh, tha sgriobtaichean CSS agus JS mu thràth a’ taisbeanadh fiosrachadh agus, ma tha sin riatanach, a’ coileanadh iarrtasan AJAX tro JQuery.

Bidh iarrtasan air an fhrithealaiche a’ tuiteam a-steach do na clasaichean * Rianadair, far am bi an dòigh a’ pròiseasadh agus a’ gineadh an duilleag HTML mu dheireadh. Bidh luchd-riaghlaidh a’ dèanamh iarrtasan gu sreath de loidsig ris an canar * Seirbheisean. Bha gach seirbheis a’ freagairt ri taobh air choireigin den ghnìomhachas:

  • Mar eisimpleir, thug DepartmentStructureService seachad fiosrachadh mu pizzerias agus roinnean. Tha roinn na bhuidheann de pizzerias air an riaghladh le aon neach-ceadachaidh.

  • ReceivingOrdersService fhuair agus àireamhachadh susbaint an òrdugh.

  • Agus chuir SmsService SMS le bhith a’ gairm seirbheisean API airson SMS a chuir.

Bha na seirbheisean a’ giullachd dàta bhon stòr-dàta agus a’ stòradh loidsig gnìomhachais. Bha aon * Stòras no barrachd aig gach seirbheis leis an ainm iomchaidh. Bha ceistean ann mu thràth mu mhodhan-obrach a bha air an stòradh san stòr-dàta agus sreath de mhapaichean. Bha loidsig gnìomhachais aig na tasgaidhean, gu sònraichte mòran dhiubh a chruthaich dàta aithris. Cha deach ORM a chleachdadh, bha a h-uile duine an urra ri sql làmh-sgrìobhte. 

Bha cuideachd còmhdach de mhodail fearainn agus clasaichean cuideachaidh coitcheann, mar eisimpleir, an clas Òrdugh, a bha a 'stòradh an òrdugh. An sin, anns an t-sreath, bha neach-cuideachaidh ann airson teacsa taisbeanaidh a thionndadh a rèir an airgead a chaidh a thaghadh.

Faodar seo uile a riochdachadh leis a 'mhodail seo:

Eachdraidh Ailtireachd Dodo IS: Monolith Tràth

Òrdugh dòigh

Beachdaichidh sinn air dòigh tòiseachaidh nas sìmplidhe airson òrdugh mar sin a chruthachadh.

Eachdraidh Ailtireachd Dodo IS: Monolith Tràth

An toiseach bha an làrach statach. Bha prìsean air, agus aig a 'mhullach bha àireamh fòn agus an sgrìobhadh "Ma tha thu ag iarraidh piotsa, cuir fios chun àireamh agus òrdugh." Gus òrdugh, feumaidh sinn sruth sìmplidh a chuir an gnìomh: 

  • Bidh an neach-dèiligidh a’ dol gu làrach-lìn statach le prìsean, a’ taghadh thoraidhean agus a’ gairm an àireamh a tha air a liostadh air an làrach-lìn.

  • Bidh an neach-ceannach ag ainmeachadh nam bathar a tha e airson a chur ris an òrdugh.

  • A 'toirt seachad a sheòladh agus ainm.

  • Gabhaidh an gnìomhaiche ris an òrdugh.

  • Tha an òrdugh air a thaisbeanadh anns an eadar-aghaidh òrdughan ris an deach gabhail.

Bidh e uile a ’tòiseachadh le taisbeanadh a’ chlàr. Cha ghabh neach-cleachdaidh gnìomhaiche logaichte a-steach ach aon òrdugh aig an aon àm. Mar sin, faodar an dreach cairt a stòradh san t-seisean aige (tha seisean an neach-cleachdaidh air a stòradh mar chuimhneachan). Tha rud Cart ann anns a bheil toraidhean agus fiosrachadh teachdaiche.

Bidh an neach-dèiligidh ag ainmeachadh an toraidh, bidh an gnìomhaiche a’ cliogadh air + ri taobh an toraidh, agus thèid iarrtas a chuir chun t-seirbheisiche. Tha fiosrachadh mun toradh air a thoirt a-mach às an stòr-dàta agus tha fiosrachadh mun toradh air a chuir ris a’ chairt.

Eachdraidh Ailtireachd Dodo IS: Monolith Tràth

thuirt. Tha, an seo chan fheum thu an toradh a tharraing a-mach às an stòr-dàta, ach a ghluasad bhon cheann aghaidh. Ach airson soilleireachd, sheall mi dìreach an t-slighe bhon bhonn. 

An ath rud, cuir a-steach seòladh agus ainm an neach-dèiligidh. 

Eachdraidh Ailtireachd Dodo IS: Monolith Tràth

Nuair a phutas tu air “Cruthaich òrdugh”:

  • Cuiridh sinn an t-iarrtas gu OrderController.SaveOrder().

  • Bidh sinn a’ faighinn Cart bhon t-seisean, tha toraidhean anns an uiread a dh’ fheumas sinn.

  • Bidh sinn a’ cur ri Cart le fiosrachadh mun neach-dèiligidh agus ga chuir gu modh AddOrder den chlas ReceivingOrderService, far a bheil e air a shàbhaladh don stòr-dàta. 

  • Tha clàran aig an stòr-dàta leis an òrdugh, susbaint an òrduigh, an neach-dèiligidh, agus tha iad uile ceangailte.

  • Bidh an eadar-aghaidh taisbeanaidh òrduigh a’ dol agus a’ tarraing a-mach na h-òrdughan as ùire agus gan taisbeanadh.

Modalan ùra

Bha e cudromach agus riatanach a bhith a’ faighinn an òrdugh. Chan urrainn dhut gnìomhachas piotsa a ruith mura h-eil òrdugh agad airson a reic. Mar sin, thòisich an siostam a 'faighinn comas-gnìomh - bho timcheall air 2012 gu 2015. Rè na h-ùine seo, nochd mòran bhlocaichean eadar-dhealaichte den t-siostam, ris an can mi modalan, an taca ri bun-bheachd seirbheis no toradh. 

Tha modal na sheata de ghnìomhan a tha aonaichte le cuid de dh’ amas gnìomhachais cumanta. A bharrachd air an sin, tha iad suidhichte gu corporra san aon iarrtas.

Canar blocaichean siostam ri modalan. Mar eisimpleir, is e modal aithris a tha seo, eadar-aghaidh rianachd, lorgaire bathar cidsin, ùghdarras. Tha iad sin uile nan eadar-aghaidh cleachdaiche eadar-dhealaichte, tha eadhon stoidhlichean lèirsinneach eadar-dhealaichte aig cuid. A bharrachd air an sin, tha a h-uile dad taobh a-staigh aon iarrtas, aon phròiseas ruith. 

Gu teicnigeach, chaidh na modalan a dhealbhadh mar Sgìre (dh’ fhan am beachd seo eadhon ann cridhe asp.net). Bha faidhlichean fa leth ann airson an aghaidh, modailean, a bharrachd air na clasaichean smachd aca fhèin. Mar thoradh air an sin, chaidh an siostam atharrachadh bho leithid ...

Eachdraidh Ailtireachd Dodo IS: Monolith Tràth

... ri seo:

Eachdraidh Ailtireachd Dodo IS: Monolith Tràth

Tha cuid de mhodalan air an cur an gnìomh le làraich air leth (pròiseact so-ghnìomhaichte), mar thoradh air gnìomhachd gu tur eadar-dhealaichte agus gu ìre mar thoradh air leasachadh beagan eadar-dhealaichte agus nas cuimsichte. Seo:

  • Làrach - chiad dreach làrach-lìn dodopizza.ru.

  • ExportRe: Luchdaich a-nuas an aithisg bho Dodo airson 1C 

  • Pearsanta - cunntas pearsanta an neach-obrach. Chaidh a leasachadh air leth agus tha àite inntrigidh agus dealbhadh fa-leth aige.

  • fs - pròiseact airson aoigheachd statach. Nas fhaide air adhart ghluais sinn air falbh bhuaithe, a 'gluasad a h-uile susbaint statach gu CDN Akamai. 

Bha na blocaichean a bha air fhàgail suidhichte san tagradh BackOffice. 

Eachdraidh Ailtireachd Dodo IS: Monolith Tràth

Mìneachadh air ainmean:

  • Cashier - clàr airgid taigh-bìdh.

  • ShiftManager - eadar-aghaidh airson dreuchd “Manaidsear Shift”: staitistig obrachaidh air reic pizzeria, an comas toraidhean a chuir air liosta stad, òrdugh atharrachadh.

  • OfficeManager - eadar-aghaidh airson dreuchdan “Pizzeria Manager” agus “Franchisee”. An seo gheibh thu gnìomhan airson pizzeria a stèidheachadh, na brosnachaidhean bonus aige, faighinn agus obrachadh le luchd-obrach, agus aithisgean.

  • PublicScreens - eadar-aghaidh airson Tbh agus tablaidean crochte ann am pizzerias. Bidh na Tbhn a’ taisbeanadh a’ chlàr, fiosrachadh sanasachd, agus inbhe òrduigh nuair a thèid an lìbhrigeadh. 

Chleachd iad còmhdach seirbheis cumanta, bloc coitcheann de chlasaichean fearainn Dodo.Core, agus bunait cumanta. Uaireannan dh'fhaodadh iad fhathast a dhol tro earrannan gu chèile. A bharrachd air an sin, fhuair làraich fa leth, leithid dodopizza.ru no personal.dodopizza.ru, cothrom air seirbheisean cumanta cuideachd.

Nuair a nochd modalan ùra, dh'fheuch sinn ris a 'chòd a chaidh a chruthachadh mar-thà airson seirbheisean, modhan-obrach agus clàran san stòr-dàta ath-chleachdadh cho mòr' sa ghabhas. 

Airson tuigse nas fheàrr air sgèile nam modalan a chaidh a dhèanamh san t-siostam, seo diagram bho 2012 le planaichean leasachaidh:

Eachdraidh Ailtireachd Dodo IS: Monolith Tràth

Ro 2015, bha a h-uile dad air an t-slighe agus bha eadhon barrachd ann an cinneasachadh.

  • Tha gabhail ri òrdughan air fàs gu bhith na bhloca air leth den Ionad Fios, far a bheil an gnìomhaiche a’ gabhail ris an òrdugh.

  • Tha scrionaichean poblach le clàran-bìdh agus fiosrachadh air nochdadh ann am pizzerias.

  • Tha modal anns a’ chidsin a chluicheas gu fèin-ghluasadach teachdaireachd guth “New Pizza” nuair a thig òrdugh ùr, agus a bhios cuideachd a’ clò-bhualadh fàirdeal airson an teachdaire. Bidh seo gu mòr a’ sìmpleachadh phròiseasan sa chidsin agus a’ leigeil le luchd-obrach gun a bhith air am buaireadh le àireamh mhòr de ghnìomhachdan sìmplidh.

  • Thàinig am bloc lìbhrigidh gu bhith na airgeadair lìbhrigidh air leth, far an deach an òrdugh a thoirt don teachdaire, a bha air a ghluasad a ghabhail roimhe. Chaidh aire a thoirt dha na h-uairean obrach aige airson a thuarastal obrachadh a-mach. 

Aig an aon àm, bho 2012 gu 2015, nochd barrachd air 10 luchd-leasachaidh, dh'fhosgail 35 pizzerias, chaidh an siostam a chuir gu Romania agus chaidh ullachadh airson fosgladh puingean anns na SA. Cha robh luchd-leasachaidh an sàs anns a h-uile gnìomh tuilleadh, ach chaidh an roinn ann an sgiobaidhean. gach fear gu sònraichte na phàirt fhèin den t-siostam. 

Duilgheadasan

A 'gabhail a-steach air sgàth an ailtireachd (ach chan ann a-mhàin).

Caos anns a 'bhonn

Tha aon bhunait goireasach. Tha e comasach cunbhalachd a choileanadh, agus aig cosgais innealan a chaidh a thogail a-steach do stòran-dàta co-cheangailte. Tha e eòlach agus goireasach a bhith ag obair leis, gu sònraichte ma tha glè bheag de chlàran agus glè bheag de dhàta ann.

Ach thairis air 4 bliadhna de leasachadh, bha timcheall air 600 clàr anns an stòr-dàta, 1500 modhan stòraidh, agus bha loidsig aig mòran dhiubh cuideachd. Gu mì-fhortanach, chan eil modhan-obrach air an stòradh a’ toirt mòran buannachd nuair a bhios tu ag obair le MySQL. Chan eil iad air an tasgadh leis an stòr-dàta, agus tha a bhith a’ stòradh loidsig annta a’ dèanamh duilgheadas leasachaidh agus deasbaid. Tha e duilich còd ath-chleachdadh cuideachd.

Bha mòran chlàran nach robh clàran-amais iomchaidh, an àiteigin, air an làimh eile, bha tòrr chlàran-amais ann, a bha ga dhèanamh duilich cuir a-steach. Dh'fheumadh mu 20 clàr atharrachadh - dh'fhaodadh an gnothach airson òrdugh a chruthachadh mu 3-5 diogan a thoirt. 

Cha robh an dàta anns na clàran an-còmhnaidh anns an riochd a bu fhreagarraiche. An àiteigin bha e riatanach denormalization a dhèanamh. Bha cuid den dàta a gheibhear gu cunbhalach ann an colbh ann an cruth structar XML, a mheudaich ùine cur gu bàs, ceistean nas fhaide agus leasachadh iom-fhillte.

Bha na h-aon chlàran fo ùmhlachd fìor iarrtasan ioma-ghnèitheach. Bha buaidh shònraichte air clàran mòr-chòrdte, mar a’ chlàr a chaidh ainmeachadh gu h-àrd òrdughan no bùird pizzeria. Bha iad air an cleachdadh gus eadar-aghaidh obrachaidh a thaisbeanadh sa chidsin agus mion-sgrùdaidhean. Chuir an làrach fios thuca cuideachd (dodopizza.ru), far am faodadh mòran iarrtasan ruighinn gu h-obann aig àm sònraichte sam bith. 

Cha deach dàta a chruinneachadh agus chaidh mòran àireamhachadh a dhèanamh air a’ chuileag a’ cleachdadh a’ bhunait. Chruthaich seo àireamhachadh neo-riatanach agus luchd a bharrachd. 

Gu math tric chaidh an còd a-steach don stòr-dàta nuair nach b’ urrainn dha a bhith air sin a dhèanamh. An àiteigin bha gainnead obrachaidhean mòra ann, an àiteigin dh’ fheumadh aon iarrtas a roinn ann an grunnan tro chòd gus earbsachd a luathachadh agus àrdachadh. 

Co-leanailteachd agus tro-chèile sa Chòd

Cha do rinn na modalan a bha còir a bhith cunntachail airson am pàirt den ghnìomhachas e gu h-onarach. Bha cuid dhiubh air dùblachadh ghnìomhan airson dreuchdan. Mar eisimpleir, b’ fheudar do mhargaiche ionadail a tha an urra ri gnìomhachd margaidheachd lìonra sa bhaile aige an dà chuid an eadar-aghaidh “Rianachd” a chleachdadh (gus sanasachd a stèidheachadh) agus an eadar-aghaidh “Manaidsear Oifis” (gus sùil a thoirt air buaidh sanasachd air an gnìomhachas). Gu dearbh, chleachd taobh a-staigh an dà mhodal an aon sheirbheis, a bha ag obair le àrdachadh bonus.

Dh’ fhaodadh seirbheisean (clasaichean taobh a-staigh aon phròiseact mòr monolithic) fios a chuir gu chèile gus an dàta aca a neartachadh.

Leis na clasaichean modail fhèin a bhios a’ stòradh an dàta, chaidh obair sa chòd a dhèanamh ann an dòigh eadar-dhealaichte. An àiteigin bha luchd-togail tro am b’ urrainn dhut raointean riatanach a shònrachadh. An àiteigin chaidh seo a dhèanamh tro thogalaichean poblach. Gu dearbh, bha faighinn agus cruth-atharrachadh dàta bhon stòr-dàta eadar-dhealaichte. 

Bha an loidsig an dàrna cuid ann an luchd-riaghlaidh no clasaichean seirbheis. 

Tha iad sin coltach ri duilgheadasan beaga, ach chuir iad gu mòr maill air leasachadh agus lughdaich iad càileachd, a’ leantainn gu neo-sheasmhachd agus biastagan. 

Iom-fhillteachd leasachadh mòr

Dh'èirich duilgheadasan san leasachadh fhèin. Bha feum air diofar bhlocaichean den t-siostam a chruthachadh, agus ann an co-shìnte. Dh’ fhàs e na bu duilghe feumalachdan gach pàirt a chur an sàs ann an aon chòd. Cha robh e furasta aontachadh agus na pàirtean uile a thoileachadh aig an aon àm. A bharrachd air an seo bha cuingealachaidhean ann an teicneòlas, gu sònraichte a thaobh a’ bhunait agus an aghaidh. Bha e riatanach JQuery a thrèigsinn a thaobh frèaman àrd-ìre, gu sònraichte a thaobh seirbheisean teachdaiche (làrach-lìn).

Dh’ fhaodadh cuid de phàirtean den t-siostam stòran-dàta a chleachdadh a tha nas freagarraiche airson seo. Mar eisimpleir, nas fhaide air adhart bha fasach againn airson gluasad bho Redis gu CosmosDB gus cairt òrduigh a stòradh. 

Bha e soilleir gu robh sgiobaidhean agus luchd-leasachaidh a bha ag obair san sgìre aca ag iarraidh barrachd neo-eisimeileachd airson na seirbheisean aca, an dà chuid a thaobh leasachadh agus a thaobh sgaoileadh. Còmhstri rè aonaidhean, duilgheadasan rè sgaoilidhean. Ma tha an duilgheadas seo glè bheag airson luchd-leasachaidh 5, an uairsin le 10, agus eadhon nas motha leis an fhàs a tha san amharc, dh’ fhàs a h-uile dad nas cunnartaiche. Agus b’ e na bha ri thighinn leasachadh tagradh gluasadach (thòisich e ann an 2017, agus ann an 2018 bha tuiteam mòr). 

Dh'fheumadh diofar phàirtean den t-siostam diofar chomharran seasmhachd, ach air sgàth ceangal làidir an t-siostaim, cha b' urrainn dhuinn seo a thoirt seachad. Dh’ fhaodadh mearachd ann a bhith a’ leasachadh gnìomh ùr sa phannal rianachd a bhith air leantainn gu gabhail ri òrdugh air an làrach, leis gu bheil an còd cumanta agus ath-chleachdadh, tha an stòr-dàta agus an dàta mar an ceudna.

Is dòcha gum biodh e comasach na mearachdan agus na duilgheadasan sin a sheachnadh taobh a-staigh frèam ailtireachd monolithic-modular: cruthaich dealachadh dhleastanasan, ath-chuir an còd agus an stòr-dàta, dealaich sreathan gu soilleir bho chèile, agus cùm sùil air càileachd gach latha. Ach dh'adhbhraich na fuasglaidhean ailtireachd a chaidh a thaghadh agus am fòcas air leudachadh gu luath air gnìomhachd an t-siostaim gu duilgheadasan ann an cùisean seasmhachd.

Mar a chuir am blog Power of Mind clàran airgid ann an taighean-bìdh

Nan leanadh fàs an lìonra pizzeria (agus an luchd) aig an aon astar, an uairsin an ceann greis bhiodh na boinneagan cho mòr is nach fhaigheadh ​​​​an siostam air ais. Tha an sgeulachd a leanas a’ nochdadh gu math na duilgheadasan air an do thòisich sinn ro 2015. 

Anns a' bhlog "Cumhachd inntinn“Bha widget ann a sheall dàta teachd-a-steach airson na bliadhna airson an lìonra gu lèir. Fhuair am widget cothrom air an Dodo API poblach, a bheir seachad an dàta seo. Tha na staitistigean sin rim faighinn a-nis air http://dodopizzastory.com/. Chaidh am widget a shealltainn air a h-uile duilleag agus rinn e iarrtasan air timer gach 20 diog. Chaidh an t-iarrtas gu api.dodopizza.ru agus dh’fhaighnich e:

  • an àireamh de pizzerias anns an lìonra;

  • teachd a-steach lìonra iomlan bho thoiseach na bliadhna;

  • teachd a-steach an-diugh.

Chaidh iarrtas airson staitistig teachd-a-steach gu dìreach chun stòr-dàta agus thòisich e ag iarraidh dàta mu òrdughan, cruinnich an dàta gu dìreach air a ’chuileag agus cuir a-mach an t-suim. 

Chaidh clàran airgid ann an taighean-bìdh chun aon chlàr òrdughan, luchdaich iad suas liosta de òrdughan ris an deach gabhail airson an-diugh, agus chaidh òrdughan ùra a chuir ris. Rinn na clàran airgid na h-iarrtasan aca a h-uile 5 diog no nuair a chaidh an duilleag ùrachadh.

Bha an diagram a’ coimhead mar seo:

Eachdraidh Ailtireachd Dodo IS: Monolith Tràth

Aon latha as t-fhoghar, sgrìobh Fyodor Ovchinnikov artaigil fada agus mòr-chòrdte air a bhlog. Thàinig tòrr dhaoine chun bhlog agus thòisich iad air a h-uile càil a leughadh gu faiceallach. Fhad ‘s a bha gach neach a thàinig a’ leughadh an artaigil, dh ’obraich am widget teachd-a-steach ceart agus dh’ iarr iad an API a h-uile 20 diog.

Dh'ainmich an API modh-obrach air a stòradh gus obrachadh a-mach na tha de gach òrdugh bho thoiseach na bliadhna airson a h-uile pizzerias san lìonra. Bha an cruinneachadh stèidhichte air a’ chlàr òrduigh, a tha mòr-chòrdte. Bidh a h-uile clàr airgid de na taighean-bìdh fosgailte aig an àm sin a 'dol thuige. Sguir na clàran airgid bho bhith a’ freagairt agus cha deach gabhail ri òrdughan. Cha deach gabhail riutha cuideachd bhon làrach, cha do nochd iad air an rianadair, agus cha b’ urrainn don mhanaidsear shift am faicinn san eadar-aghaidh aige. 

Chan e seo an aon sgeulachd. Ro tuiteam 2015, bha an luchd air an t-siostam deatamach gach Dihaoine. Grunn thursan chuir sinn dheth an API poblach, agus aon uair ‘s gu robh againn eadhon ris an làrach a chuir dheth leis nach robh dad na chuideachadh. Bha eadhon liosta de sheirbheisean ann le òrdugh dùnadh fo luchdan trom.

Bhon àm seo, tha an strì againn le luchdan agus airson seasmhachd an t-siostaim a 'tòiseachadh (bho fhoghar 2015 gu foghar 2018). Sin nuair a thachair e"An t-Earrach Mòr" Nas fhaide, uaireannan bha fàilligidhean ann cuideachd, cuid dhiubh gu math mothachail, ach faodar beachdachadh air an ùine choitcheann de neo-sheasmhachd a-nis.

Fàs luath air gnìomhachas

Carson nach b’ urrainnear “a dhèanamh gu math sa bhad”? Dìreach thoir sùil air na grafaichean a leanas.

Eachdraidh Ailtireachd Dodo IS: Monolith Tràth

Cuideachd ann an 2014-2015 bha fosgladh ann an Romania agus bha fosgladh anns na SA ga ullachadh.

Dh'fhàs an slabhraidh gu math luath, dh'fhosgail dùthchannan ùra, nochd cruthan ùra de pizzerias, mar eisimpleir, dh'fhosgail pizzeria anns a 'chùirt bìdh. Dh'fheumadh seo uile aire shònraichte a thoirt do leudachadh gnìomhan Dodo IS. Às aonais na gnìomhan sin uile, gun a bhith a ’cumail sùil sa chidsin, a’ toirt cunntas air toraidhean agus call san t-siostam, a ’taisbeanadh lìbhrigeadh òrdughan ann an talla cùirt a’ bhidhe, chan eil e coltach gum biodh sinn a-nis a ’bruidhinn mun ailtireachd“ cheart ”agus an“ cheart ” dòigh-obrach airson leasachadh.

B’ e cnap-starra eile a thaobh ath-sgrùdadh ùineail air an ailtireachd agus aire choitcheann do dhuilgheadasan teicnigeach èiginn 2014. Bidh rudan mar seo a’ goirteachadh chothroman fàis sgiobaidhean, gu sònraichte airson gnìomhachas òg mar Dodo Pizza.

Fuasglaidhean sgiobalta a chuidich

Duilgheadasan a tha a dhìth fuasglaidhean. Gu gnàthach, faodar fuasglaidhean a roinn ann an 2 bhuidheann:

  • An fheadhainn luath a chuireas an teine ​​​​a-mach agus a bheir dhuinn iomall sàbhailteachd beag agus a cheannaicheas ùine dhuinn airson atharrachadh.

  • Siostamach agus, mar sin, fada. Ag ath-nuadhachadh grunn mhodalan, a ’roinn an ailtireachd monolithic ann an seirbheisean air leth (chan e meanbh-sheirbheisean a th’ anns a ’mhòr-chuid dhiubh, ach macro sheirbheisean, agus tha barrachd mu dheidhinn seo Aithisg le Andrey Morevsky). 

Is e an liosta tioram de dh'atharrachaidhean luath:

Àrdaich am prìomh mhaighstir

Gu dearbh, is e a’ chiad rud a thèid a dhèanamh gus cuir an-aghaidh an luchd cumhachd an fhrithealaiche àrdachadh. Chaidh seo a dhèanamh airson prìomh stòr-dàta agus frithealaichean lìn. Gu mì-fhortanach, chan eil seo comasach ach suas gu ìre shònraichte; nas fhaide na sin bidh e ro dhaor.

Bho 2014, tha sinn air gluasad gu Azure; sgrìobh sinn cuideachd mun chuspair seo air ais an uairsin san artaigil “Mar a bhios Dodo Pizza a’ lìbhrigeadh piotsa a’ cleachdadh sgòth Microsoft Azure" Ach às deidh sreath de mheudachadh frithealaiche, ràinig cosgais a’ bhunait crìoch. 

Stòr-dàta mac-samhail airson leughadh

Rinn sinn dà mhac-samhail airson a’ bhunait:

Leugh Mac-samhail airson iarrtasan eòlaire. Tha e air a chleachdadh airson clàran a leughadh, leithid baile-mòr, sràid, pizzeria, toraidhean (fearann ​​​​air atharrachadh gu slaodach), agus anns na h-eadar-aghaidh sin far a bheilear a’ gabhail ri dàil bheag. Bha 2 de na mac-samhail sin ann, rinn sinn cinnteach gum biodh iad rim faighinn san aon dòigh ris a’ mhaighstir.

ReadReplica airson iarrtasan aithisg. Bha cothrom nas ìsle aig an stòr-dàta seo, ach chaidh a h-uile aithisg thuige. Is dòcha gu bheil iarrtasan trom aca airson ath-àireamhachadh dàta mòr, ach chan eil iad a’ toirt buaidh air a’ phrìomh stòr-dàta agus eadar-aghaidh obrachaidh. 

Tasglannan ann an còd

Cha robh caches an àite sam bith sa chòd (co-dhiù). Dh'adhbhraich seo iarrtasan a bharrachd, nach robh an-còmhnaidh riatanach, chun stòr-dàta luchdaichte. An toiseach, bha caches an dà chuid mar chuimhneachan agus air seirbheis tasgadan taobh a-muigh, b ’e Redis a bh’ ann. Bha a h-uile dad neo-dhligheach le ùine, chaidh na roghainnean a shònrachadh sa chòd.

Ioma frithealaichean airson backend

Dh'fheumadh cùl-raon an tagraidh a bhith air a sgèile cuideachd gus seasamh ri barrachd luchdan. Bha e riatanach braisle a dhèanamh bho aon fhrithealaiche IIS. Ghluais sinn seisean tagraidh bho chuimhne air RedisCache, a rinn e comasach grunn luchd-frithealaidh a chruthachadh air cùl cothromachadh luchdan sìmplidh le robin cruinn. An toiseach, chaidh an aon Redis a chleachdadh airson na caches, agus chaidh an roinn ann an grunnan. 

Mar thoradh air an sin, dh'fhàs an ailtireachd nas iom-fhillte ...

Eachdraidh Ailtireachd Dodo IS: Monolith Tràth

... ach chaidh faochadh a thoirt do chuid den teannachadh.

Agus an uairsin bha e riatanach na pàirtean luchdaichte ath-dhèanamh, agus is e sin a ghabh sinn ris. Bruidhnidh sinn mu dheidhinn seo anns an ath phàirt.

Source: www.habr.com

Cuir beachd ann