Mbiri ya Dodo IS Architecture: The Back Office Path

Habr akusintha dziko. Takhala tikulemba mabulogu kwa chaka chopitilira. Pafupifupi miyezi isanu ndi umodzi yapitayo tinalandira ndemanga zomveka kuchokera kwa anthu okhala ku Khabrovsk: "Dodo, mumanena paliponse kuti muli ndi makina anuanu. Ndi dongosolo lanji ili? Ndipo chifukwa chiyani ma pizzeria amafunikira?"

Tinakhala ndikulingalira ndikuzindikira kuti mukulondola. Tikuyesera kufotokoza chirichonse ndi zala zathu, koma zimatuluka mu zidutswa zong'ambika ndipo palibe kufotokoza kwathunthu kwa dongosololi kulikonse. Choncho anayamba ulendo wautali kusonkhanitsa zambiri, kufunafuna olemba ndi kulemba mndandanda wa nkhani za Dodo IS. Tiyeni tizipita!

Kuyamika: Zikomo pogawana nafe malingaliro anu. Chifukwa cha iye, potsiriza tinalongosola dongosololi, tinapanga technoradar, ndipo posachedwapa tidzalongosola ndondomeko yathu. Popanda inu, tikadakhala chonchi kwa zaka 5 zina.

Mbiri ya Dodo IS Architecture: The Back Office Path

Mndandanda wa zolemba "Dodo IS?" akutiuza za:

  1. Monolith oyambirira ku Dodo IS (2011-2015). (Zili mkati...)
  2. Njira yakumbuyo: mabasi osiyana ndi mabasi. (Muli pano)
  3. Njira yamakasitomala: facade pamwamba pa maziko (2016-2017). (Zili mkati...)
  4. Mbiri ya ma microservices enieni. (2018-2019). (Zili mkati...)
  5. Anamaliza macheka a monolith ndi kukhazikika kwa zomangamanga. (Zili mkati...)

Ngati mukufuna kuphunzira china chilichonse, lembani mu ndemanga.

Malingaliro ofotokoza motsatira nthawi kuchokera kwa wolemba
Nthawi zonse ndimakhala ndi msonkhano wa antchito atsopano pamutu wakuti "System Architecture". Timachitcha kuti "Intro to Dodo IS Architecture" ndipo ndi gawo la njira yoyendetsera oyambitsa atsopano. Kulankhula m'njira imodzi kapena ina za zomangamanga zathu, za mawonekedwe ake, ndinapanga njira ina ya mbiri yakale yofotokozera.

MwachizoloΕ΅ezi, timayang'ana dongosolo ngati zigawo (zaukadaulo kapena zapamwamba), ma module a bizinesi omwe amalumikizana wina ndi mnzake kuti akwaniritse cholinga china. Ndipo ngakhale kuti lingaliro loterolo ndiloyenera kupanga mapangidwe, siloyenera kwathunthu kufotokozera ndi kumvetsetsa. Pali zifukwa zingapo:

  • Zoona zake n’zosiyana ndi zimene zili papepala. Sikuti zonse zimayenda monga momwe anakonzera. Ndipo tili ndi chidwi ndi momwe zonse zidakhalira ndikugwira ntchito.
  • Kuwonetsera kosasinthasintha kwa chidziwitso. M'malo mwake, mutha kupita motsatira nthawi kuyambira pachiyambi mpaka momwe zilili pano.
  • Kuyambira zosavuta mpaka zovuta. Osati padziko lonse, koma kwa ife zili choncho. Zomangamanga zinasuntha kuchoka ku njira zosavuta kupita ku zovuta kwambiri. Nthawi zambiri, chifukwa cha zovuta, zovuta za liwiro la kukhazikitsa ndi kukhazikika, komanso zinthu zina zambiri kuchokera pamndandanda wazinthu zosagwira ntchito (pano analankhula bwino za kusiyanitsa zovuta ndi zofunika zina).

Mu 2011, zomangamanga za Dodo IS zinkawoneka motere:

Mbiri ya Dodo IS Architecture: The Back Office Path

Pofika 2020, zidakhala zovuta kwambiri ndipo zidakhala motere:

Mbiri ya Dodo IS Architecture: The Back Office Path

Kodi kusinthaku kunachitika bwanji? N’chifukwa chiyani mbali zosiyanasiyana za dongosololi zili zofunika? Ndi zisankho zotani zomanga zomwe zidapangidwa ndipo chifukwa chiyani? Tiyeni tione m’nkhani zotsatizanazi.

Mavuto oyambirira a 2016: chifukwa chiyani mautumiki ayenera kusiya monolith?

Nkhani zoyamba za mndandanda zidzakhala za mautumiki omwe anali oyamba kupatukana ndi monolith. Kuti ndikufotokozereni, ndikuwuzani mavuto omwe tinali nawo m'dongosolo kumayambiriro kwa 2016, zomwe tinayenera kuthana ndi kulekana kwa mautumiki.

Dongosolo limodzi la MySql momwe mapulogalamu onse omwe analipo panthawiyo ku Dodo IS adalemba zolemba zawo. Zotsatira zake zinali:

  • Katundu wolemera (ndi 85% ya zopempha zikuwerengedwa).
  • Maziko anali kukula. Pachifukwa ichi, mtengo ndi chithandizo chinakhala vuto.
  • Mfundo imodzi yolephera. Ngati pulogalamu imodzi yolembera ku database mwadzidzidzi idayamba kutero mwachangu, ndiye kuti mapulogalamu ena adakhudzidwa.
  • Kusakwanira posungira ndi kufunsa. Nthawi zambiri deta inkasungidwa m'mawonekedwe ena omwe anali oyenerera zochitika zina koma osati zina. Ma index amafulumizitsa ntchito zina, koma amatha kuchedwetsa zina.
  • Ena mwamavutowo adathetsedwa ndi ma cache omwe adapangidwa mwachangu ndikuwerenganso zolemba pama database (izi zidzakambidwa m'nkhani ina), koma zidatilola kuti tipeze nthawi ndipo sizinathetse vutoli.

Vuto linali kupezeka kwa monolith yokha. Zotsatira zake zinali:

  • Zotulutsa zapadera komanso zosowa.
  • Chovuta ndi chitukuko chogwirizana cha anthu ambiri.
  • Kulephera kuyambitsa matekinoloje atsopano, zomanga zatsopano ndi malaibulale.

Mavuto ndi maziko ndi monolith akhala akufotokozedwa nthawi zambiri, mwachitsanzo, pazochitika zowonongeka kumayambiriro kwa 2018 (Khalani ngati Munch, kapena mawu ochepa okhudza ngongole zaukadaulo, Tsiku lomwe Dodo IS anaima. Asynchronous script ΠΈ Nkhani ya mbalame ya Dodo kuchokera ku banja la Phoenix. Kugwa Kwakukulu kwa Dodo NDI), kotero sindikhala kwambiri. Ndiloleni ndingonena kuti timafuna kupereka kusinthasintha popanga mautumiki. Choyamba, izi zimakhudza omwe anali odzaza kwambiri ndi mizu mu dongosolo lonse - Auth ndi Tracker.

Njira Yobwerera Kuofesi: Mabasi Osiyana ndi Mabasi

Mutu Navigation

  1. Ndondomeko ya monolith 2016
  2. Timayamba kutsitsa monolith: kulekana kwa Auth ndi Tracker
  3. Kodi Auth amachita chiyani?
  4. Kodi katunduyo amachokera kuti?
  5. Kutsitsa Auth
  6. Kodi Tracker imachita chiyani?
  7. Kodi katunduyo amachokera kuti?
  8. Kutsitsa Tracker

Ndondomeko ya monolith 2016

Nawa midadada yayikulu ya 2016 Dodo IS monolith, ndipo pansipa pali kuwonongeka kwa ntchito zawo zazikulu.
Mbiri ya Dodo IS Architecture: The Back Office Path
Delivery cash desk. Kuwerengera ndalama kwa otumiza, kupereka ma oda kwa otumiza.
Contact center. Kulandira madongosolo kudzera mwa woyendetsa.
Site. Mawebusayiti athu (dodopizza.ru, dodopizza.co.uk, dodopizza.by, etc.).
Auth. Ntchito yovomerezeka ndi yovomerezeka ya backoffice.
Tracker. Kitchen order tracker. Utumiki wolemba zizindikiro zokonzekera pokonzekera dongosolo.
Desiki la ndalama zodyera. Kutenga maoda mu lesitilanti, malo ochezeramo ndalama.
Tumizani. Kukweza malipoti mu 1C owerengera ndalama.
Zidziwitso ndi ma invoice. Malamulo a mawu kukhitchini (mwachitsanzo, "Pizza yatsopano yafika") + kusindikiza ma invoice kwa otengera makalata.
Shift Manager. Mawonekedwe a ntchito ya manejala wosinthira: mndandanda wamadongosolo, ma chart a zokolola, kubweretsa antchito kusintha.
Office Manager. Mawonekedwe a ntchito ya franchisees ndi mamenejala: kulandira antchito, malipoti a ntchito ya pizzeria.
Malo odyera. Kuwonetsa mindandanda yazakudya pa TV mu pizzeria.
Admin. Zokonda pa pizzeria inayake: menyu, mitengo, ma accounting, ma code otsatsa, kukwezedwa, zikwangwani zatsambalo, ndi zina.
Akaunti Yaumwini Wantchito. Ndondomeko za ntchito za ogwira ntchito, zokhudzana ndi antchito.
Kitchen Motivation Board. Chinsalu chosiyana chomwe chimapachikidwa kukhitchini ndikuwonetsa kuthamanga kwa opanga pizza.
Communication. Kutumiza ma sms ndi imelo.
FileStorage. Ntchito zanu zolandila ndikutulutsa mafayilo osasintha.

Zoyesayesa zoyamba zothetsa mavuto zinatithandiza, koma zinangopumula kwakanthaΕ΅i. Sanakhale njira zothetsera, kotero zinali zoonekeratu kuti chinachake chiyenera kuchitidwa ndi maziko. Mwachitsanzo, gawani nkhokwe yazambiri m'magulu angapo apadera.

Timayamba kutsitsa monolith: kulekana kwa Auth ndi Tracker

Ntchito zazikuluzikulu zomwe zidalemba ndikuwerenga kuchokera ku database kuposa ena:

  1. Auth. Ntchito yovomerezeka ndi yovomerezeka ya backoffice.
  2. Tracker. Kitchen order tracker. Utumiki wolemba zizindikiro zokonzekera pokonzekera dongosolo.

Kodi Auth amachita chiyani?

Auth ndi ntchito yomwe ogwiritsa ntchito amalowera kuofesi yakumbuyo (pali malo olowera odziyimira pawokha kumbali ya kasitomala). Ikutchulidwanso mu pempho kuti zitsimikizire kuti ufulu wofikira wolondola ulipo komanso kuti maufuluwa sanasinthe kuyambira pomwe adalowa komaliza. Zipangizo zimalowa mu pizzeria kudzera mu izo.

Mwachitsanzo, tikufuna kutsegula chiwonetsero chokhala ndi madongosolo omalizidwa pa TV atapachikidwa muholoyo. Kenako timatsegula auth.dodopizza.ru, sankhani "Lowani ngati chipangizo", code ikuwoneka yomwe ingalowetsedwe patsamba lapadera pa kompyuta ya woyang'anira kusintha, kusonyeza mtundu wa chipangizo (chipangizo). TV yokha idzapita ku mawonekedwe ofunidwa a pizzeria yake ndikuyamba kusonyeza pamenepo mayina a makasitomala omwe maoda awo ali okonzeka.

Mbiri ya Dodo IS Architecture: The Back Office Path

Kodi katunduyo amachokera kuti?

Wogwiritsa ntchito aliyense wolowa muofesi amapita ku database ya pempho lililonse, patebulo la ogwiritsa ntchito, amakoka wogwiritsa ntchitoyo kudzera pa sql query ndikuwunika ngati ali ndi mwayi wofunikira komanso ufulu patsamba lino.

Chida chilichonse chimachita chimodzimodzi ndi tebulo la chipangizocho, kuyang'ana udindo wake ndi zofikira zake. Kuchuluka kwa zopempha ku master database kumabweretsa kutsitsa ndi kuwononga zinthu zachinsinsi pazochita izi.

Kutsitsa Auth

Auth ili ndi dera lakutali, ndiye kuti, data yokhudzana ndi ogwiritsa ntchito, malowedwe kapena zida zomwe zimalowa muutumiki (panopa mtsogolo) ndipo zimakhalabe pamenepo. Ngati wina akuwafuna, amapita ku msonkhanowu kuti akapeze deta.

ANALI. Njira yogwirira ntchito poyamba inali motere:

Mbiri ya Dodo IS Architecture: The Back Office Path

Ndikufuna kufotokoza pang'ono momwe zinayendera:

  1. Pempho lakunja limabwera ku backend (Asp.Net MVC kumeneko), kubweretsa cookie yagawo, yomwe imagwiritsidwa ntchito kupeza deta yagawo kuchokera ku Redis(1). Mwina ili ndi chidziwitso chofikira, ndiyeno mwayi wolowera ndi wotseguka (3,4), kapena ayi.
  2. Ngati palibe mwayi, muyenera kudutsa njira yovomerezeka. Apa, kuti zikhale zosavuta, zikuwonetsedwa ngati gawo la njira mu chikhalidwe chomwecho, ngakhale izi ndi kusintha kwa tsamba lolowera. Pazochitika zabwino, tidzalandira gawo lodzaza bwino ndikupita ku Backoffice Controller.
  3. Ngati pali deta, ndiye kuti muyenera kuyang'ana kuti ikugwirizana ndi deta ya ogwiritsa ntchito. Kodi udindo wake wasintha, kodi asaloledwe patsamba lino? Pankhaniyi, mutalandira gawoli (1), muyenera kupita ku database ndikuwunika momwe wogwiritsa ntchito alili pogwiritsa ntchito kusanjikiza kotsimikizika (2). Kenako, mwina pitani patsamba lolowera kapena pitani kwa wowongolera. Iyi ndi njira yosavuta, koma osati yokhazikika.
  4. Ngati njira zonse zatsirizidwa, ndiye kuti timadumpha mopitilira muyeso mu owongolera ndi njira.

Deta ya ogwiritsa imasiyanitsidwa ndi data ina yonse, imasungidwa patebulo la umembala, ntchito kuchokera ku AuthService logic wosanjikiza zitha kukhala njira za API. Malire a malowa amafotokozedwa momveka bwino: ogwiritsa ntchito, maudindo awo, deta yofikira, kutulutsa ndi kuchotsedwa kwa mwayi. Chilichonse chikuwoneka ngati chitha kusamutsidwa ku ntchito ina.

ANAKHALA. Ndicho chimene iwo anachita:

Mbiri ya Dodo IS Architecture: The Back Office Path

Njira imeneyi ili ndi mavuto angapo. Mwachitsanzo, kuyitana njira mkati mwa ndondomeko sikufanana ndi kuyitana ntchito yakunja kudzera pa http. Latency, kudalirika, kuthandizira, ndi kuwonekera kwa ntchitoyo ndizosiyana kwambiri. Andrey Morevsky anafotokoza mwatsatanetsatane za mavuto amenewa mu lipoti lake "50 mithunzi ya microservices".

Ntchito yotsimikizira komanso kugwiritsa ntchito chipangizocho imagwiritsidwa ntchito kuofesi yakumbuyo, ndiye kuti, pazithandizo ndi zolumikizira zomwe zimagwiritsidwa ntchito popanga. Kutsimikizira kwa ntchito zamakasitomala (monga tsamba lawebusayiti kapena pulogalamu yam'manja) kumachitika mosiyana popanda kugwiritsa ntchito Auth. Kulekanitsa kunatenga pafupifupi chaka, ndipo tsopano tikugwiranso ntchito pamutuwu, kusamutsira dongosolo ku mautumiki atsopano ovomerezeka (ndi ndondomeko zovomerezeka).

N’chifukwa chiyani kupatukanaku kunatenga nthawi yaitali chonchi?
Panali zovuta zambiri panjira zomwe zidatichedwetsa:

  1. Tinkafuna kusamutsa deta yokhudzana ndi ogwiritsa ntchito, zida ndi zotsimikizira kuchokera pazosungidwa zamayiko kukhala imodzi. Kuti tichite izi, tidayenera kusamutsa matebulo onse ndikugwiritsa ntchito kuchokera pachizindikiritso cha int kupita ku chizindikiritso cha UUId chapadziko lonse lapansi (posachedwa takonzanso code iyi. Roman Bukin "Uuid - nkhani yayikulu yanyumba yaying'ono" ndi polojekiti yotseguka Zoyamba). Kusunga zidziwitso za ogwiritsa ntchito (popeza izi ndi zaumwini) zili ndi malire ake ndipo kumayiko ena ndikofunikira kuzisunga padera. Koma payenera kukhala ID ya ogwiritsa ntchito padziko lonse lapansi.
  2. Matebulo ambiri munkhokwe ali ndi zambiri zowunikira za wogwiritsa ntchitoyo. Izi zimafuna njira yowonjezera kuti zitsimikizire kusasinthasintha.
  3. Pambuyo popanga mautumiki a API, panali nthawi yayitali komanso yapang'onopang'ono yosamutsira ku dongosolo lina. Masinthidwe amayenera kuchitika mosasunthika kwa ogwiritsa ntchito ndipo amafunikira ntchito yamanja.

Ndondomeko yolembera chipangizo mu pizzeria:

Mbiri ya Dodo IS Architecture: The Back Office Path

Zomangamanga zonse mutalekanitsa Auth ndi Devices service:

Mbiri ya Dodo IS Architecture: The Back Office Path

ndemanga. M'chaka cha 2020, tikugwiritsa ntchito mtundu watsopano wa Auth, womwe umadalira mulingo wovomerezeka wa OAuth 2.0. Muyezo uwu ndi wovuta kwambiri, koma ndi wothandiza popanga ntchito yotsimikizira kumapeto mpaka kumapeto. M'nkhani yakuti "Zobisika za chilolezo: mwachidule zaukadaulo wa OAuth 2.0Β» Ife Alexey Chernyaev tinayesetsa kulankhula za muyezo mophweka ndi momveka bwino momwe tingathere kuti tisunge nthawi kuphunzira izo.

Kodi Tracker imachita chiyani?

Tsopano pafupi yachiwiri ya ntchito zodzaza. Tracker imagwira ntchito ziwiri:

  • Kumbali imodzi, ntchito yake ndikuwonetsa antchito kukhitchini zomwe madongosolo akuchitika, ndi zinthu ziti zomwe ziyenera kukonzekera tsopano.
  • Kumbali inayi, sinthani njira zonse kukhitchini.

Mbiri ya Dodo IS Architecture: The Back Office Path

Chinthu chatsopano (mwachitsanzo, pitsa) chikapezeka mwadongosolo, chimapita ku "Rolling" tracker station. Pa siteshoni iyi pali wopanga pizza yemwe amatenga bun la kukula kofunikira ndikulitulutsa, kenaka amalemba pa piritsi la tracker kuti wamaliza ntchito yake ndikudutsa gawo la mtanda wodulidwira pamalo ena - "Kudzaza" .

Kumeneko, wopanga pitsa wotsatira amakweza pitsa, kenako amalemba pa piritsi kuti wamaliza ntchito yake ndikuyika pizzayo mu uvuni (imeneyinso ndi malo osiyana omwe amafunika kulembedwa pa piritsi). Dongosolo loterolo linalipo kuyambira pachiyambi ku Dodo komanso kuyambira pachiyambi cha Dodo IS. Imakulolani kuti muzitha kuyang'anira ndikusintha ma digito ntchito zonse. Kuphatikiza apo, tracker ikuwonetsa momwe angakonzekerere chinthu china, kupanga mtundu uliwonse wazinthu molingana ndi njira zake zopangira, kusunga nthawi yabwino yophikira chinthucho, ndikutsata zonse zomwe zimapangidwira.

Mbiri ya Dodo IS Architecture: The Back Office PathUmu ndi momwe skrini ya piritsi imawonekera ku Raskatka tracker station.

Kodi katunduyo amachokera kuti?

Pizza iliyonse imakhala ndi mapiritsi asanu okhala ndi tracker. Mu 2016 tinali ndi ma pizzeria oposa 100 (ndipo tsopano alipo oposa 600). Piritsi lililonse limapanga pempho lakumbuyo kwa masekondi 10 aliwonse ndikusonkhanitsa deta kuchokera patebulo (lozerani ndi kasitomala ndi adilesi), kapangidwe kake (kulumikizana ndi zomwe zidapangidwa ndikuwonetsa kuchuluka kwake), ndi tebulo lolimbikitsa (likutsatira nthawi yotsiriza). Wopanga pitsa akadina chinthu pa tracker, zolembedwa m'matebulo onsewa zimasinthidwa. Gome la madongosolo ndi lamba; nthawi imodzi imakhala ndi zoyikapo povomereza dongosolo, zosintha kuchokera kumadera ena adongosolo, ndi zowerengera zambiri, mwachitsanzo, pa TV yomwe imapachikidwa mu pizzeria ndikuwonetsa maoda okonzeka kwa makasitomala.

Munthawi yolimbana ndi katundu, chilichonse ndi aliyense adasungidwa ndikusamutsidwa ku database yofananira, izi ndi tracker zidapitilira kupita ku database yayikulu. Sipayenera kukhala kuchedwa apa, zomwe zalembedwazi ziyenera kukhala zaposachedwa, kusalunzanitsidwa ndikosayenera.

Komanso, kusowa kwa matebulo athu ndi ma index omwe ali pa iwo sikunatilole kuti tilembe mafunso achindunji okonzekera kuti tigwiritse ntchito. Mwachitsanzo, zingakhale zothandiza kuti tracker ikhale ndi index ya pizzeria patebulo lake la maoda. Nthawi zonse timasakaza maoda a pizzeria kuchokera ku database ya tracker. Nthawi yomweyo, kuvomera kuyitanitsa, sikofunikira kwambiri kuti pizzeria imagwera, chofunikira kwambiri ndi kasitomala yemwe adapanga izi. Izi zikutanthauza kuti payenera kukhala index pa kasitomala. Sikofunikiranso kuti tracker isunge id ya risiti yosindikizidwa kapena kukwezedwa kwa bonasi komwe kumakhudzana ndi dongosolo lomwe lili patebulo. Ntchito yathu ya tracker ilibe chidwi ndi izi. Mu database wamba ya monolithic, matebulo atha kukhala kusagwirizana pakati pa ogwiritsa ntchito onse. Ili linali limodzi mwa mavuto oyambirira.

ANALI. Poyamba zomangazo zinali motere:

Mbiri ya Dodo IS Architecture: The Back Office Path

Ngakhale atapatulidwa m'njira zosiyanasiyana, ma code ambiri adakhalabe ofanana ndi mautumiki osiyanasiyana. Chilichonse chomwe chili pansi pa olamulirawo chinali chogwirizana ndipo ankakhala m'malo amodzi. Njira zodziwika bwino zothandizira, nkhokwe, ndi nkhokwe wamba yokhala ndi matebulo wamba zidagwiritsidwa ntchito.

Kutsitsa Tracker

Vuto lalikulu ndi tracker ndikuti deta iyenera kulumikizidwa pakati pa ma database osiyanasiyana. Uku ndiyenso kusiyana kwake kwakukulu kuchokera kugawo la ntchito ya Auth; dongosolo ndi mawonekedwe ake zitha kusintha ndipo ziyenera kuwonetsedwa muzinthu zosiyanasiyana.

Timalandila maoda pa Restaurant Checkout (iyi ndi sevisi), amasungidwa munkhokwe mu "Accepted" status. Pambuyo pake, iyenera kupita ku tracker, komwe idzasintha kangapo: kuchokera ku "Kitchen" kupita ku "Packed". Pankhaniyi, zina zakunja zochokera ku Cashier kapena mawonekedwe a Shift Manager zitha kuchitika ndi dongosolo. Ndipereka ma stade a dongosolo ndi mafotokozedwe awo patebulo:

Mbiri ya Dodo IS Architecture: The Back Office Path
Dongosolo losintha mawonekedwe a dongosolo likuwoneka motere:

Mbiri ya Dodo IS Architecture: The Back Office Path

Makhalidwe amasintha pakati pa machitidwe osiyanasiyana. Ndipo apa tracker si njira yomaliza yomwe deta imatsekedwa. Tawona njira zingapo zopatukana muzochitika zotere:

  1. Timayika zochitika zonse muntchito imodzi. Kwa ife, njirayi imafuna ntchito yambiri kuti ikonze dongosolo. Tikadayima pamenepo, tikadakhala ndi monolith yachiwiri. Sitikadathetsa mavutowo.
  2. Dongosolo limodzi limayitanira kwina. Njira yachiwiri ndiyosangalatsa kwambiri. Koma ndi izo, unyolo wa mafoni ndi zotheka (kulephera kwa cascading), kulumikizidwa kwa zigawozo ndikwapamwamba, ndipo kumakhala kovuta kwambiri kuyendetsa.
  3. Timakonza zochitika, ndipo ntchito iliyonse imasinthana ndi ina kudzera muzochitika izi. Zotsatira zake, njira yachitatu idasankhidwa, malinga ndi zomwe mautumiki onse amayamba kusinthanitsa zochitika wina ndi mnzake.

Mfundo yakuti tinasankha njira yachitatu imatanthawuza kuti tracker idzakhala ndi database yake, ndipo pakusintha kulikonse mu dongosolo idzatumiza chochitika chokhudza izi, zomwe mautumiki ena angalembetsedwe komanso omwe angaphatikizidwe mu database ya master. Kuti tichite izi, tinkafunikira ntchito zina zomwe zingatsimikizire kutumizidwa kwa mauthenga pakati pa mautumiki.

Pofika nthawi imeneyo, tinali kale ndi RabbitMQ mu stack, choncho chisankho chomaliza chogwiritsa ntchito ngati wogulitsa uthenga. Chithunzichi chikuwonetsa kusintha kwa dongosolo kuchokera ku Restaurant Cashier kupyolera mu Tracker, komwe kumasintha mawonekedwe ake ndi mawonetsedwe ake pa mawonekedwe a Manager's Orders. ANAKHALA:

Mbiri ya Dodo IS Architecture: The Back Office Path

Konzani njira sitepe ndi sitepe
Njira yoyitanitsa imayambira pa imodzi mwazinthu zoyambira madongosolo. Nayi Restaurant Cashier:

  1. Dongosolo lakonzeka kwathunthu pa Checkout, ndipo ndi nthawi yoti mutumize kwa tracker. Chochitika chomwe tracker amalembetsa chimaponyedwa.
  2. Wotsatira, kuvomereza dongosolo, amasunga mu database yake, kupanga "Order Accepted by Tracker" chochitika ndikutumiza ku RMQ.
  3. Ogwira ntchito angapo adalembetsa kale mabasi amwambo. Chofunikira kwa ife ndi chomwe chimagwirizanitsa ndi database ya monolithic.
  4. Wothandizira amalandira chochitikacho, amasankha zomwe zili zofunika kwa izo: kwa ife, iyi ndi dongosolo la "Accepted by Tracker" ndikusintha dongosolo lake mu database yayikulu.

Ngati wina akufunika kuyitanitsa mwachindunji kuchokera pa tebulo la monolithic, ndiye kuti akhoza kuwerenganso kuchokera pamenepo. Mwachitsanzo, izi ndi zomwe mawonekedwe a Orders mu Shift Manager amafunikira:

Mbiri ya Dodo IS Architecture: The Back Office Path

Mautumiki ena onse amathanso kulembetsa kuti ayitanitsa zochitika kuchokera kwa tracker kuti azigwiritsa ntchito okha.

Ngati pakapita nthawi dongosolo litengedwa kuti lipangidwe, mawonekedwe ake amayamba kusintha mu database yake (Tracker database), ndiyeno chochitika cha "OrderInWork" chimapangidwa nthawi yomweyo. Imalowanso mu RMQ, komwe imalumikizidwa mu database ya monolithic ndikuperekedwa kuzinthu zina. Pakhoza kukhala mavuto osiyanasiyana panjira iyi; zambiri za iwo zitha kupezeka mu lipoti la Zhenya Peshkov za tsatanetsatane wa kukhazikitsidwa kwa Eventual Consistency in Tracker.

Zomangamanga zomaliza zitasintha mu Auth ndi Tracker

Mbiri ya Dodo IS Architecture: The Back Office Path

Mwachidule: Poyamba, ndinali ndi lingaliro loyika mbiri yazaka zisanu ndi zinayi za dongosolo la Dodo IS munkhani imodzi. Ndinkafuna kuyankhula mwachangu komanso mophweka za magawo a chisinthiko. Komabe, nditakhala pansi kuti ndiphunzire nkhaniyi, ndinazindikira kuti zonse ndi zovuta komanso zosangalatsa kuposa momwe zimawonekera.

Poganizira za ubwino (kapena kusowa kwake) kwa zinthu zoterezi, ndinafika pozindikira kuti chitukuko chosalekeza sichingatheke popanda zolemba zonse za zochitika, zochitika mwatsatanetsatane komanso kusanthula zisankho zakale.

Ndikukhulupirira kuti mwapeza zothandiza komanso zosangalatsa kuphunzira zaulendo wathu. Tsopano ndikuyang'anizana ndi chisankho cha gawo la Dodo IS kuti ndifotokoze m'nkhani yotsatira: lembani ndemanga kapena voti.

Ogwiritsa ntchito olembetsedwa okha ndi omwe angatenge nawo gawo pa kafukufukuyu. Lowani muakauntichonde.

Ndi gawo liti la Dodo IS lomwe mukufuna kuphunzira munkhani yotsatira?

  • 24,1%Monolith oyambirira ku Dodo IS (2011-2015)14

  • 24,1%Mavuto oyamba ndi mayankho awo (2015-2016)14

  • 20,7%Njira ya gawo la kasitomala: facade pamwamba pa maziko (2016-2017)12

  • 36,2%Mbiri ya ma microservices enieni (2018-2019)21

  • 44,8%Kumaliza kudula kwa monolith ndi kukhazikika kwa zomangamanga26

  • 29,3%Za mapulani ena opititsa patsogolo dongosololi17

  • 19,0%Sindikufuna kudziwa chilichonse chokhudza Dodo IS11

Ogwiritsa 58 adavota. Ogwiritsa ntchito 6 adakana.

Source: www.habr.com

Kuwonjezera ndemanga