Eachdraidh Ailtireachd Dodo IS: Slighe Oifis a’ Chùil

Tha Habr ag atharrachadh an t-saoghail. Tha sinn air a bhith a’ blogadh airson còrr air bliadhna a-nis. O chionn timcheall air sia mìosan, fhuair sinn fios air ais gu tur loidsigeach bho Khabrovites: “Dodo, tha thu ag ràdh anns a h-uile àite gu bheil an siostam agad fhèin. Agus dè an siostam seo? Agus carson a tha feum air slabhraidh piotsa?

Shuidh sinn, smaoinich sinn agus thuig sinn gu bheil thu ceart. Bidh sinn a’ feuchainn ri a h-uile càil a mhìneachadh air ar corragan, ach tha e a’ tighinn a-mach ann am pìosan reubte agus chan eil àite sam bith ann a tha làn chunntas air an t-siostam. Mar sin thòisich turas fada a’ cruinneachadh fiosrachaidh, a’ lorg ùghdaran agus a’ sgrìobhadh sreath de artaigilean mu Dodo IS. Tiugainn!

Buidheachas: Tapadh leibh airson do bheachdan air ais a cho-roinn leinn. Taing dha, thug sinn cunntas air an t-siostam mu dheireadh, chuir sinn ri chèile radar teignigeach agus a dh'aithghearr cuiridh sinn a-mach tuairisgeul mòr air na pròiseasan againn. Às aonais thusa, bhiodh sinn air a bhith nar suidhe an sin airson 5 bliadhna eile.

Eachdraidh Ailtireachd Dodo IS: Slighe Oifis a’ Chùil

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

  1. Monolith tràth ann an Dodo IS (2011-2015). (A’ dèanamh adhartais...)
  2. Slighe na h-oifis cùil: ionadan fa leth agus bus. (tha thu an seo)
  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...)

Ma tha ùidh agad fios a bhith agad air rudeigin eile - sgrìobh anns na beachdan.

Beachd air an tuairisgeul ùine bhon ùghdar
Bidh mi gu cunbhalach a 'cumail coinneamh airson luchd-obrach ùr air a' chuspair "System Architecture". Canaidh sinn “Intro to Dodo IS Architecture” ris agus tha e na phàirt den phròiseas air bòrd airson luchd-leasachaidh ùr. Ag innse ann an aon chruth no ann an dòigh eile mun ailtireachd againn, mu na feartan aige, tha mi air dòigh eachdraidheil sònraichte a bhreith a thaobh an tuairisgeul.

Gu traidiseanta, bidh sinn a 'coimhead air an t-siostam mar sheata de phàirtean (teicnigeach no àrd-ìre), modalan gnìomhachais a bhios ag eadar-obrachadh le chèile gus amas air choireigin a choileanadh. Agus ma tha an leithid de shealladh air fhìreanachadh airson dealbhadh, chan eil e gu math freagarrach airson tuairisgeul agus tuigse. Tha grunn adhbharan an seo:

  • Tha fìrinn eadar-dhealaichte bho na tha air pàipear. Chan eil a h-uile càil ag obair a-mach mar a bha dùil. Agus tha ùidh againn ann an mar a thionndaidh e a-mach agus ag obair.
  • Taisbeanadh cunbhalach de fhiosrachadh. Gu dearbh, faodaidh tu a dhol a rèir eachdraidh bhon toiseach chun staid làithreach.
  • Bho sìmplidh gu iom-fhillte. Chan ann gu h-uile-choitcheann, ach anns a 'chùis againn tha e. Ghluais an ailtireachd bho dhòighean-obrach nas sìmplidh gu feadhainn nas iom-fhillte. Gu tric tro iom-fhillteachd, chaidh duilgheadasan gnìomhachaidh luaths agus seasmhachd fhuasgladh, a bharrachd air dusanan de thogalaichean eile bhon liosta de riatanasan neo-ghnìomhach (an seo air innse gu math mu iom-fhillteachd eadar-dhealaichte le riatanasan eile).

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

Eachdraidh Ailtireachd Dodo IS: Slighe Oifis a’ Chùil

Ro 2020, tha e air fàs beagan nas iom-fhillte agus air fàs mar seo:

Eachdraidh Ailtireachd Dodo IS: Slighe Oifis a’ Chùil

Ciamar a thachair an leasachadh seo? Carson a tha feum air diofar phàirtean den t-siostam? Dè na co-dhùnaidhean ailtireachd a chaidh a dhèanamh agus carson? Feuch an lorg sinn a-mach anns an t-sreath artaigilean seo.

A 'chiad dhuilgheadasan ann an 2016: carson a bu chòir do sheirbheisean am monolith fhàgail

Bidh a 'chiad artaigilean bhon chearcall mu na seirbheisean a bha a' chiad fhear a dhealaich bhon monolith. Gus do chuir ann an co-theacs, innsidh mi dhut dè na duilgheadasan a bh’ againn san t-siostam ro thoiseach 2016, a bha againn ri dèiligeadh ri dealachadh sheirbheisean.

Stòr-dàta MySql singilte, anns an do sgrìobh a h-uile tagradh a bha ann aig an àm sin ann an Dodo IS na clàran aca. B’ iad na builean:

  • eallach trom (le 85% de na h-iarrtasan a’ toirt cunntas air leughadh).
  • Tha am bonn air fàs. Air sgàth seo, dh'fhàs a chosgais agus a thaic na dhuilgheadas.
  • Aon phuing fàilligeadh. Ma thòisich aon iarrtas a’ sgrìobhadh chun stòr-dàta gu h-obann ga dhèanamh nas gnìomhaiche, bha tagraidhean eile a’ faireachdainn orra fhèin.
  • Neo-èifeachdas ann an stòradh agus ceistean. Gu math tric bha an dàta air a stòradh ann an structar air choreigin a bha freagarrach airson cuid de shuidheachaidhean ach nach robh freagarrach airson cuid eile. Bidh clàran-amais a’ luathachadh cuid de ghnìomhachdan, ach faodaidh iad cuid eile a dhèanamh nas slaodaiche.
  • Chaidh cuid de na duilgheadasan a thoirt air falbh le caches a chaidh a dhèanamh gu sgiobalta agus mac-samhail leughaidh gu na h-ionadan (bidh seo na artaigil air leth), ach cha do leig iad leotha ach ùine fhaighinn agus cha do dh ’fhuasgail iad an duilgheadas gu bunaiteach.

B 'e an duilgheadas a bh' ann am monolith fhèin. B’ iad na builean:

  • Foillseachaidhean singilte agus tearc.
  • Duilgheadas ann an co-leasachadh àireamh mhòr de dhaoine.
  • Neo-chomas teicneòlasan ùra, frèaman ùra agus leabharlannan a thoirt a-steach.

Chaidh iomradh a thoirt air duilgheadasan leis a’ bhunait agus am monolith iomadh uair, mar eisimpleir, ann an co-theacsa tubaistean tràth ann an 2018 (Bi mar Munch, no beagan fhaclan mu fhiachan teicnigeach, An latha a stad Dodo IS. Sgriobtur asyncronach и Sgeulachd an eun Dodo bhon teaghlach Phoenix. Tha an t-Eas Mòr Dodo IS), mar sin cha ghabh mi còmhnuidh ro mhòr. Leig leam dìreach a ràdh gun robh sinn airson barrachd sùbailteachd a thoirt seachad nuair a bha sinn a’ leasachadh sheirbheisean. An toiseach, bha seo a’ buntainn ris an fheadhainn a bu lughdaiche agus as freumhaiche san t-siostam gu lèir - Auth and Tracker.

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

Seòladh caibideil

  1. Sgeama monolith 2016
  2. A’ tòiseachadh air am Monolith a luchdachadh: Dealachadh Ùghdar is Lorgaire
  3. Dè bhios Auth a’ dèanamh?
  4. Cò às a tha na luchdan?
  5. A' luchdachadh Auth
  6. Dè bhios Tracker a’ dèanamh?
  7. Cò às a tha na luchdan?
  8. A luchdachadh a-nuas Tracker

Sgeama monolith 2016

Seo na prìomh bhlocaichean de monolith Dodo IS 2016, agus dìreach gu h-ìosal tha tar-sgrìobhadh de na prìomh ghnìomhan aca.
Eachdraidh Ailtireachd Dodo IS: Slighe Oifis a’ Chùil
Lìbhrigeadh Cashier. Cunntasachd airson teachdairean, a 'toirt seachad òrdughan gu teachdairean.
Ionad conaltraidh. Gabhail ri òrdughan tron ​​ghnìomhaiche.
Làrach. Tha na làraichean-lìn againn (dodopizza.ru, dodopizza.co.uk, dodopizza.by, msaa).
Auth. Seirbheis ceadachaidh is dearbhaidh airson na cùl-oifis.
Lorgair. Òrdugh tracker sa chidsin. Seirbheis airson inbhean ullachaidh a chomharrachadh nuair a thathar ag ullachadh òrdugh.
Deasg airgid an Taigh-bìdh. A 'gabhail òrduighean ann an taigh-bìdh, cashier eadar-aghaidh.
Export. Luchdaich a-nuas cunntasachd ann 1C.
Sanasan agus cunntasan. Òrdughan gutha sa chidsin (mar eisimpleir, “Ràinig piotsa ùr”) + clò-bhualadh fàirdeal airson teachdairean.
Manaidsear tionndadh. Eadar-aghaidh airson obair manaidsear shift: liosta òrduighean, grafaichean coileanaidh, gluasad luchd-obrach chun shift.
Manaidsear oifis. Eadar-aghaidh airson obair neach-bhòtaidh agus manaidsear: fàilteachadh luchd-obrach, aithisgean air obair pizzeria.
Clàr-sgòr an taigh-bìdh. Taisbeanadh clàr-taice air telebhiseanan ann am pizzerias.
rianaire. Suidhichidhean ann am pizzeria sònraichte: clàr-bìdh, prìsean, cunntasachd, còdan promo, sanasachd, brataichean làrach-lìn, msaa.
Cunntas pearsanta an neach-obrach. Clàr-ama obrach luchd-obrach, fiosrachadh mu luchd-obrach.
Bòrd brosnachaidh cidsin. Sgrion air leth a tha crochte sa chidsin agus a sheallas astar luchd-dèanaidh piotsa.
conaltradh. A’ cur sms agus post-d.
Stòradh faidhle. An t-seirbheis agad fhèin airson faighinn agus cur a-mach faidhlichean statach.

Chuidich na ciad oidhirpean gus na duilgheadasan fhuasgladh sinn, ach cha robh annta ach faochadh sealach. Cha deach iad gu bhith nan fuasglaidhean siostam, agus mar sin bha e soilleir gum feumadh rudeigin a dhèanamh leis na bunaitean. Mar eisimpleir, gus an stòr-dàta coitcheann a roinn ann an grunn fheadhainn nas speisealta.

A’ tòiseachadh air am Monolith a luchdachadh: Dealachadh Ùghdar is Lorgaire

Na prìomh sheirbheisean a chlàraich agus a leugh bhon stòr-dàta barrachd na feadhainn eile:

  1. Ùghdar. Seirbheis ùghdarrachaidh is dearbhaidh airson na h-oifis cùil.
  2. Lorgaire. Òrdugh tracker sa chidsin. Seirbheis airson inbhean ullachaidh a chomharrachadh nuair a thathar ag ullachadh òrdugh.

Dè bhios Auth a’ dèanamh?

Is e seirbheis a th’ ann an ùghdar tro bheil luchd-cleachdaidh a’ logadh a-steach don oifis chùil (tha slighe a-steach neo-eisimeileach fa-leth air taobh an neach-dèiligidh). Thathas cuideachd ag iarraidh san iarrtas dèanamh cinnteach gu bheil na còraichean-slighe a tha a dhìth an làthair agus nach eil na còraichean sin air atharrachadh bhon logadh a-steach mu dheireadh. Tron e, bidh innealan a’ dol a-steach don pizzeria.

Mar eisimpleir, tha sinn airson taisbeanadh fhosgladh le inbhe òrdughan crìochnaichte air an Tbh a tha crochte san talla. An uairsin bidh sinn a 'fosgladh auth.dodopizza.ru, tagh "Log a-steach mar inneal", nochdaidh còd a dh'fhaodar a chuir a-steach air duilleag sònraichte air coimpiutair a' mhanaidsear shift, a 'sealltainn an seòrsa inneal (inneal). Tionndaidhidh an Tbh fhèin chun eadar-aghaidh a tha thu ag iarraidh den pizzeria aige agus tòisichidh e a’ taisbeanadh ainmean luchd-ceannach aig a bheil òrdughan deiseil an sin.

Eachdraidh Ailtireachd Dodo IS: Slighe Oifis a’ Chùil

Cò às a tha na luchdan?

Bidh gach neach-cleachdaidh logadh a-steach san oifis cùil a’ dol chun stòr-dàta, chun bhòrd luchd-cleachdaidh airson gach iarrtas, a’ tarraing a-mach an neach-cleachdaidh tro cheist sql agus a’ dèanamh cinnteach a bheil an ruigsinneachd agus na còraichean riatanach aige air an duilleag seo.

Bidh gach inneal a 'dèanamh an aon rud a-mhàin le clàr an uidheim, a' sgrùdadh a dhreuchd agus a ruigsinneachd. Bidh àireamh mhòr de dh’ iarrtasan chun phrìomh stòr-dàta a’ leantainn gu bhith ga luchdachadh agus a’ caitheamh ghoireasan air an stòr-dàta cumanta airson na h-obraichean sin.

A' luchdachadh Auth

Tha àrainn iomallach aig Auth, is e sin, bidh dàta mu luchd-cleachdaidh, logins no innealan a’ tighinn a-steach don t-seirbheis (aig an àm seo) agus a’ fuireach ann. Ma tha feum aig cuideigin orra, thèid e chun na seirbheis seo airson dàta.

BHAIS. Bha an sgeama obrach tùsail mar a leanas:

Eachdraidh Ailtireachd Dodo IS: Slighe Oifis a’ Chùil

Bu mhath leam beagan mìneachadh mar a dh’ obraich e:

  1. Bidh iarrtas bhon taobh a-muigh a’ tighinn chun backend (tha Asp.Net MVC ann), a’ toirt leis briosgaid seisean, a thathas a’ cleachdadh gus dàta seisean fhaighinn bho Redis(1). Tha fiosrachadh ann mu shlighean-inntrigidh, agus an uairsin tha cothrom air an rianadair fosgailte (3,4), no nach eil.
  2. Mura h-eil ruigsinneachd ann, feumaidh tu a dhol tron ​​​​phròiseas ceadachaidh. An seo, airson sìmplidh, tha e air a shealltainn mar phàirt den t-slighe anns an aon fheart, ged a tha e na ghluasad chun duilleag logadh a-steach. Ma tha suidheachadh adhartach ann, gheibh sinn seisean crìochnaichte ceart agus thèid sinn chun Rianadair Backoffice.
  3. Ma tha dàta ann, feumaidh tu sgrùdadh a dhèanamh airson buntainneas ann an stòr-dàta an neach-cleachdaidh. A bheil a dhreuchd air atharrachadh, nach bu chòir a cheadachadh air an duilleag a-nis? Anns a ’chùis seo, às deidh dhut an seisean (1) fhaighinn, feumaidh tu a dhol dìreach chun stòr-dàta agus sgrùdadh a dhèanamh air ruigsinneachd an neach-cleachdaidh a’ cleachdadh an ìre loidsig dearbhaidh (2). An uairsin, an dàrna cuid chun duilleag logadh a-steach, no rachaibh chun rianadair. Siostam cho sìmplidh, ach chan eil e gu math àbhaisteach.
  4. Ma thèid a h-uile modh-obrach seachad, leumaidh sinn nas fhaide air adhart anns an loidsig ann an luchd-riaghlaidh agus modhan.

Tha dàta luchd-cleachdaidh air a sgaradh bhon dàta eile gu lèir, tha e air a stòradh ann an clàr ballrachd air leth, is dòcha gu bheil gnìomhan bho ìre loidsig AuthService gu bhith nan dòighean api. Tha crìochan fearainn air am mìneachadh gu soilleir: luchd-cleachdaidh, na dreuchdan aca, ruigsinneachd dàta, toirt seachad agus cùl-ghairm ruigsinneachd. Tha a h-uile dad a 'coimhead gus an tèid a thoirt a-mach ann an seirbheis air leth.

BEÒ. Mar sin rinn iad:

Eachdraidh Ailtireachd Dodo IS: Slighe Oifis a’ Chùil

Tha grunn dhuilgheadasan aig an dòigh-obrach seo. Mar eisimpleir, chan eil gairm modh taobh a-staigh pròiseas an aon rud ri bhith a’ gairm seirbheis bhon taobh a-muigh tro http. Tha latency, earbsachd, seasmhachd, follaiseachd an obrachaidh gu tur eadar-dhealaichte. Bhruidhinn Andrey Morevskiy ann am barrachd mionaideachd mu na duilgheadasan sin san aithisg aige. "50 sgàil de mhicro-sheirbheisean".

Tha an t-seirbheis dearbhaidh agus, leis, an t-seirbheis inneal air an cleachdadh airson an oifis cùil, is e sin, airson seirbheisean agus eadar-aghaidh a thathar a’ cleachdadh ann an cinneasachadh. Bidh dearbhadh airson seirbheisean teachdaiche (leithid làrach-lìn no tagradh gluasadach) a’ tachairt air leth gun a bhith a’ cleachdadh Auth. Thug an dealachadh timcheall air bliadhna, agus a-nis tha sinn a-rithist a ’dèiligeadh ris a’ chuspair seo, a ’gluasad an t-siostam gu seirbheisean dearbhaidh ùra (le protocolaidhean àbhaisteach).

Carson a thug an dealachadh cho fada?
Bha mòran dhuilgheadasan air an t-slighe a chuir maill oirnn:

  1. Bha sinn airson dàta cleachdaiche, inneal, agus dearbhaidh a ghluasad bho stòran-dàta a tha sònraichte do dhùthchannan gu aon. Gus seo a dhèanamh, bha againn ris a h-uile clàr agus cleachdadh eadar-theangachadh bhon int aithnichear chun an aithnichear UUId cruinneil (ath-obraich an còd seo o chionn ghoirid Ròmanach Bukin "Uuid - sgeulachd mhòr mu structar beag" agus pròiseact stòr fosgailte Prìomhairean). Tha crìochan aig stòradh dàta luchd-cleachdaidh (leis gur e fiosrachadh pearsanta a th’ ann) agus airson cuid de dhùthchannan feumar an stòradh air leth. Ach feumaidh id cruinne an neach-cleachdaidh a bhith.
  2. Tha fiosrachadh sgrùdaidh aig mòran chlàran san stòr-dàta mun neach-cleachdaidh a rinn an obair. Dh'fheumadh seo dòigh-obrach a bharrachd airson cunbhalachd.
  3. Às deidh cruthachadh seirbheisean api, bha ùine fhada agus mean air mhean de ghluasad gu siostam eile. Dh'fheumadh atharrachadh a bhith gun fhiosta dha luchd-cleachdaidh agus bha feum air obair làimhe.

Sgeama clàraidh inneal ann am pizzeria:

Eachdraidh Ailtireachd Dodo IS: Slighe Oifis a’ Chùil

Ailtireachd coitcheann às deidh seirbheis Auth and Devices a thoirt a-mach:

Eachdraidh Ailtireachd Dodo IS: Slighe Oifis a’ Chùil

thuirt. Airson 2020, tha sinn ag obair air dreach ùr de Auth, a tha stèidhichte air inbhe ùghdarrais OAuth 2.0. Tha an inbhe seo gu math iom-fhillte, ach tha e feumail airson seirbheis dearbhaidh pas-seachad a leasachadh. Anns an artaigil "Subtleties ùghdarrais: sealladh farsaing air teicneòlas OAuth 2.0» dh’ fheuch sinn Alexei Chernyaev ri innse mun ìre cho sìmplidh agus cho soilleir sa ghabhas gus an sàbhail thu ùine air a bhith ga sgrùdadh.

Dè bhios Tracker a’ dèanamh?

A-nis mun dàrna fear de na seirbheisean luchdaichte. Bidh an rianadair a’ coileanadh dà dhreuchd:

  • Air an aon làimh, is e an obair aige sealltainn don luchd-obrach sa chidsin dè na h-òrdughan a tha ag obair an-dràsta, dè na toraidhean a dh’ fheumar a bhruich a-nis.
  • Air an làimh eile, gus na pròiseasan uile sa chidsin a dhidseatachadh.

Eachdraidh Ailtireachd Dodo IS: Slighe Oifis a’ Chùil

Nuair a nochdas toradh ùr ann an òrdugh (mar eisimpleir, piotsa), thèid e chun stèisean tracadh Rolling out. Aig an stèisean seo, tha neach-dèanaidh piotsa a bhios a’ toirt bun den mheud a tha a dhìth agus ga roiligeadh a-mach, às deidh sin bidh e a’ toirt fa-near air a ’chlàr rianadair gu bheil e air a ghnìomh a chrìochnachadh agus a’ gluasad a ’bhunait taois rolaichte chun ath stèisean -“ Initiation ” .

An sin, bidh an ath neach-dèanaidh piotsa a ’lìonadh a’ phiotsa, an uairsin a ’toirt fa-near air a’ chlàr gu bheil e air a ghnìomh a chrìochnachadh agus a ’cur a’ phiotsa san àmhainn (tha seo cuideachd na stèisean air leth a dh ’fheumar a thoirt fa-near air a’ chlàr). Bha siostam mar seo bhon fhìor thoiseach ann an Dodo agus bhon fhìor thoiseach gu robh Dodo IS ann. Leigidh e leat sùil iomlan a chumail air agus a h-uile gnothach a dhidseatachadh. A bharrachd air an sin, tha an rianadair a ’moladh mar a chòcaicheas tu toradh sònraichte, a’ stiùireadh gach seòrsa toraidh a rèir na sgeamaichean saothrachaidh aige, a ’stòradh an ùine còcaireachd as fheàrr airson an toraidh, agus a’ cumail sùil air gnìomhachd an toraidh.

Eachdraidh Ailtireachd Dodo IS: Slighe Oifis a’ ChùilSeo mar a tha sgrion a 'chlàir coltach aig stèisean an rianadair "Raskatka"

Cò às a tha na luchdan?

Tha timcheall air còig clàran aig gach aon de na pizzerias le rianadair. Ann an 2016, bha barrachd air pizzerias 100 againn (agus a-nis barrachd air 600). Bidh gach clàr a’ dèanamh iarrtas chun backend aon uair gach 10 diog agus a ’sgrìobadh dàta bhon chlàr òrduigh (ceangal ris an neach-dèiligidh agus seòladh), co-dhèanamh òrdugh (ceangal ris an toradh agus comharra air an àireamh), an clàr cunntasachd brosnachaidh (an tha ùine brùthaidh air a leantainn ann). Nuair a phutas neach-dèanaidh piotsa air toradh air an rianadair, thèid na h-inntrigidhean anns na clàran sin uile ùrachadh. Tha an clàr òrduigh coitcheann, tha cuir a-steach ann cuideachd nuair a thathar a’ gabhail ri òrdugh, ùrachaidhean bho phàirtean eile den t-siostam agus grunn leughaidhean, mar eisimpleir, air Tbh ​​​​a tha crochte ann am pizzeria agus a’ sealltainn òrdughan crìochnaichte do luchd-ceannach.

Rè na h-ùine de strì le luchdan, nuair a chaidh a h-uile càil agus a h-uile càil a thasgadh agus a ghluasad gu mac-samhail asyncronach a 'bhunait, lean na h-obraichean sin leis an rianadair a' dol chun phrìomh ionad. Cha bu chòir dàil sam bith a bhith ann, bu chòir don dàta a bhith ùraichte, chan eil e ceadaichte a-mach à sioncranachadh.

Cuideachd, cha do leig gainnead chlàran agus chlàran-amais orra ceistean nas mionaidiche a sgrìobhadh a bha air an dèanamh freagarrach airson an cleachdadh. Mar eisimpleir, dh’ fhaodadh gum biodh e èifeachdach do rianadair clàr-amais a bhith aige airson pizzeria air clàr òrduigh. Bidh sinn an-còmhnaidh a’ toirt air falbh òrdughan pizzeria bhon stòr-dàta rianadair. Aig an aon àm, airson òrdugh fhaighinn, chan eil e cho cudromach dè am pizzeria a tha e a 'tuiteam a-steach, tha e nas cudromaiche dè an neach-dèiligidh a rinn an òrdugh seo. Agus tha sin a 'ciallachadh gu bheil feum air clàr-amais an neach-dèiligidh. Chan eil e riatanach cuideachd don rianadair id a’ chuidhteas clò-bhuailte no sanasachd bònas co-cheangailte ris an òrdugh a stòradh sa chlàr òrduigh. Chan eil am fiosrachadh seo inntinneach don t-seirbheis tracadh againn. Ann an stòr-dàta monolithic cumanta, cha b’ urrainn clàran a bhith ach co-rèiteachadh eadar luchd-cleachdaidh uile. B’ e seo aon de na duilgheadasan tùsail.

BHAIS. B’ e an ailtireachd tùsail:

Eachdraidh Ailtireachd Dodo IS: Slighe Oifis a’ Chùil

Eadhon an dèidh a bhith air a sgaradh ann am pròiseasan fa leth, bha a 'mhòr-chuid de bhunait còd fhathast cumanta airson diofar sheirbheisean. Bha a h-uile dad fo na riaghladairean singilte agus a’ fuireach san aon stòr. Chleachd sinn dòighean seirbheis cumanta, stòran, bunait chumanta, anns an robh bùird cumanta.

A luchdachadh a-nuas Tracker

Is e am prìomh dhuilgheadas leis an rianadair gum feum an dàta a bhith air a shioncronachadh eadar diofar stòran-dàta. Is e seo cuideachd a phrìomh eadar-dhealachadh bho sgaradh seirbheis an Ùghdarrais, faodaidh an òrdugh agus an inbhe aige atharrachadh agus bu chòir a thaisbeanadh ann an diofar sheirbheisean.

Gabhaidh sinn ri òrdugh aig Checkout an Taigh-bìdh (is e seirbheis a tha seo), tha e air a stòradh san stòr-dàta san inbhe “Gabhaidh”. Às deidh sin, bu chòir dha faighinn chun rianadair, far an atharraich e an inbhe aige grunn thursan: bho “Kitchen” gu “Packed”. Aig an aon àm, faodaidh cuid de bhuaidhean bhon taobh a-muigh bhon Cashier no eadar-aghaidh Manaidsear Shift tachairt leis an òrdugh. Bheir mi seachad na h-inbhean òrduigh leis an tuairisgeul aca sa chlàr:

Eachdraidh Ailtireachd Dodo IS: Slighe Oifis a’ Chùil
Tha an sgeama airson inbhean òrduigh atharrachadh a’ coimhead mar seo:

Eachdraidh Ailtireachd Dodo IS: Slighe Oifis a’ Chùil

Bidh inbhean ag atharrachadh eadar diofar shiostaman. Agus an seo chan e siostam deireannach a th’ anns an rianadair anns a bheil an dàta dùinte. Tha sinn air grunn dhòighean-obrach fhaicinn airson sgaradh ann an leithid de chùis:

  1. Bidh sinn a’ cuimseachadh a h-uile gnìomh òrduigh ann an aon seirbheis. Anns a 'chùis againn, tha an roghainn seo a' cur feum air cus seirbheis gus obrachadh leis an òrdugh. Nan stadadh sinn air, gheibheadh ​​sinn an dàrna monolith. Cha bhithinn a’ fuasgladh na trioblaid.
  2. Bidh aon shiostam a’ gairm gu siostam eile. Tha an dàrna roghainn mar-thà nas inntinniche. Ach leis, tha slabhraidhean de ghlaodhan comasach (fàilligeadh cascading), tha ceangal nan co-phàirtean nas àirde, tha e nas duilghe a riaghladh.
  3. Bidh sinn a’ cur thachartasan air dòigh, agus bidh gach seirbheis a’ conaltradh ri fear eile tro na tachartasan sin. Mar thoradh air an sin, b 'e an treas roghainn a chaidh a thaghadh, a rèir a bheil a h-uile seirbheis a' tòiseachadh a 'dèanamh iomlaid air tachartasan le chèile.

Leis gun do thagh sinn an treas roghainn bha sin a’ ciallachadh gum biodh an stòr-dàta aige fhèin aig an rianadair, agus airson gach atharrachadh san òrdugh, chuireadh e tachartas mu dheidhinn seo, ris am bi seirbheisean eile a’ fo-sgrìobhadh agus a tha cuideachd a’ tuiteam a-steach don phrìomh stòr-dàta. Gus seo a dhèanamh, bha feum againn air seirbheis air choireigin a dhèanadh cinnteach gum biodh teachdaireachdan air an lìbhrigeadh eadar seirbheisean.

Ron àm sin, bha RabbitMQ againn mar-thà anns a’ chruach, agus mar sin an co-dhùnadh deireannach a chleachdadh mar broker teachdaireachd. Tha an diagram a 'sealltainn gluasad òrdugh bhon Taigh-bìdh Cashier tro Tracker, far a bheil e ag atharrachadh inbhe agus a thaisbeanadh air an eadar-aghaidh Òrdughan Manaidsear. BEÒ:

Eachdraidh Ailtireachd Dodo IS: Slighe Oifis a’ Chùil

Òrdaich slighe ceum air cheum
Bidh an t-slighe òrduigh a’ tòiseachadh aig aon de na seirbheisean stòr òrduigh. Seo an Cashier of the Restaurant:

  1. Aig an àite-pàighidh, tha an òrdugh gu tur deiseil, agus tha an t-àm ann a chuir chun rianadair. Tha an tachartas ris a bheil an rianadair fo-sgrìobhadh air a thilgeil.
  2. Bidh an rianadair, a’ gabhail ri òrdugh dha fhèin, ga shàbhaladh chun stòr-dàta aige fhèin, a’ dèanamh an tachartais “Òrdugh air a ghabhail le Tracker” agus ga chuir gu RMQ.
  3. Tha grunn luchd-làimhseachaidh mu thràth air ballrachd a thoirt don bhus tachartais gach òrdugh. Dhuinne, tha an tè a tha a 'dèanamh sioncronadh le bonn monolithic cudromach.
  4. Bidh an neach-làimhseachaidh a 'faighinn tachartas, a' taghadh dàta a tha cudromach air a shon: anns a 'chùis againn, is e seo inbhe an òrdugh "Air a ghabhail leis an Tracker" agus ag ùrachadh a bhuidheann òrdugh anns a' phrìomh stòr-dàta.

Ma tha feum aig cuideigin air òrdugh bhon chlàr monolithic, faodaidh tu a leughadh às an sin cuideachd. Mar eisimpleir, feumaidh an eadar-aghaidh Òrdughan anns a’ Mhanaidsear Shift seo:

Eachdraidh Ailtireachd Dodo IS: Slighe Oifis a’ Chùil

Faodaidh a h-uile seirbheis eile cuideachd fo-sgrìobhadh airson tachartasan òrdachadh bhon rianadair gus an cleachdadh dhaibh fhèin.

Ma thèid an òrdugh a thoirt a-steach don obair an dèidh greis, bidh an inbhe aige an-toiseach ag atharrachadh anns an stòr-dàta aige (stòr-dàta Tracker), agus an uairsin thèid an tachartas "OrderIn Progress" a chruthachadh sa bhad. Bidh e cuideachd a’ faighinn a-steach do RMQ, às am bi e air a shioncronachadh ann an stòr-dàta monolithic agus air a lìbhrigeadh gu seirbheisean eile. Dh'fhaodadh gum bi diofar dhuilgheadasan air an t-slighe, gheibhear barrachd fiosrachaidh mun deidhinn ann an aithisg Zhenya Peshkov mu dheidhinn mion-fhiosrachadh buileachaidh mu Cho-chòrdadh mu dheireadh san Lorgair.

Ailtireachd deireannach às deidh atharrachaidhean ann an Auth and Tracker

Eachdraidh Ailtireachd Dodo IS: Slighe Oifis a’ Chùil

A 'toirt geàrr-chunntas air an toradh eadar-mheadhanach: An toiseach, bha beachd agam eachdraidh naoi bliadhna siostam Dodo IS a phacadh ann an aon artaigil. Bha mi airson bruidhinn gu sgiobalta agus gu sìmplidh mu na h-ìrean mean-fhàs. Ach, a 'suidhe sìos airson an stuth, thuig mi gu bheil a h-uile dad tòrr nas iom-fhillte agus nas inntinniche na tha e coltach.

A’ meòrachadh air buannachdan (no dìth) stuthan mar sin, thàinig mi chun cho-dhùnadh gu bheil leasachadh leantainneach do-dhèanta às aonais làn-chunntasan de thachartasan, ath-sgrùdaidhean mionaideach agus mion-sgrùdadh air na co-dhùnaidhean a rinn mi roimhe.

Tha mi an dòchas gun robh e feumail agus inntinneach dhuibh a bhith ag ionnsachadh mun t-slighe againn. A-nis tha roghainn agam dè am pàirt de shiostam Dodo IS airson cunntas a thoirt air san ath artaigil: sgrìobh anns na beachdan no bhòt.

Chan fhaod ach luchd-cleachdaidh clàraichte pàirt a ghabhail san sgrùdadh. Soidhnig a-steach, mas e do thoil e.

Dè am pàirt de Dodo IS a bhiodh tu airson faighinn a-mach mu dheidhinn san ath artaigil?

  • 24,1%Monolith tràth ann an Dodo IS (2011-2015)14

  • 24,1%Ciad dhuilgheadasan agus na fuasglaidhean aca (2015-2016)14

  • 20,7%An t-slighe taobh teachdaiche: aghaidh os cionn a’ bhunait (2016-2017)12

  • 36,2%Eachdraidh fìor mhicro-sheirbheisean (2018-2019)21

  • 44,8%Sàbhaladh iomlan den monolith agus seasmhachd na h-ailtireachd26

  • 29,3%Mu phlanaichean eile airson leasachadh an t-siostaim17

  • 19,0%Chan eil mi airson faighinn a-mach mu Dodo IS11

Bhòt 58 neach-cleachdaidh. Sheall 6 neach-cleachdaidh.

Source: www.habr.com

Cuir beachd ann