Umlando Wokwakha we-Dodo IS: I-Monolith Yasekuqaleni

Noma yonke inkampani engajabule ene-monolith ayijabuli ngendlela yayo.

Ukuthuthukiswa kohlelo lwe-Dodo IS kwaqala ngokushesha, njengebhizinisi le-Dodo Pizza - ngo-2011. Kwakusekelwe embonweni wokugcwaliswa okuphelele nokuphelele kwezinqubo zebhizinisi, kanye ngokwabo, okwathi nangaleso sikhathi ngo-2011 kwaphakamisa imibuzo eminingi nokungabaza. Kodwa iminyaka engu-9 manje silandela le ndlela - ngokuthuthuka kwethu, okwaqala nge-monolith.

Lesi sihloko "siyimpendulo" yemibuzo ethi "Kungani ubhala kabusha izakhiwo futhi wenze izinguquko ezinkulu nezesikhathi eside?" esihlokweni esedlule "Umlando we-Dodo IS architecture: indlela yehhovisi elingemuva". Ngizoqala ngokuthi ukuthuthukiswa kwe-Dodo IS kwaqala kanjani, ukuthi ukwakheka kokuqala kwakubukeka kanjani, ukuthi amamojula amasha avela kanjani, futhi ngenxa yaziphi izinkinga okufanele zenziwe izinguquko ezinkulu.

Umlando Wokwakha we-Dodo IS: I-Monolith Yasekuqaleni

Uchungechunge lwezihloko “Iyini i-Dodo IS?” uzokutshela mayelana:

  1. I-monolith yakuqala e-Dodo IS (2011-2015). (Ulapha)

  2. Indlela ye-backoffice: izisekelo ezihlukene kanye nebhasi.

  3. Indlela yengxenye yeklayenti: i-facade ngaphezu kwesisekelo (2016-2017). (Kuyaqhubeka...)

  4. Umlando wama-microservices wangempela. (2018-2019). (Kuyaqhubeka...)

  5. Ukusika okuqediwe kwe-monolith kanye nokuzinza kwezakhiwo. (Kuyaqhubeka...)

I-architecture yokuqala

Ngo-2011, i-architecture ye-Dodo IS yayibukeka kanje:

Umlando Wokwakha we-Dodo IS: I-Monolith Yasekuqaleni

Imojula yokuqala ku-architecture ukwamukela i-oda. Inqubo yebhizinisi ibinje:

  • ikhasimende libiza i-pizzeria;

  • Umphathi ubamba ucingo;

  • uthatha ama-oda ngocingo;

  • kanyekanye igcwalisa ku-interface yokwamukela i-oda: ulwazi mayelana neklayenti, idatha ngemininingwane ye-oda, nekheli lokulethwa liyacatshangelwa. 

I-interface yesistimu yolwazi ibibukeka kanje...

Inguqulo yokuqala kusukela ngo-Okthoba 2011:

Ithuthuke kancane ngoJanuwari 2012

Uhlelo lolwazi Dodo Pizza Delivery Pizza Restaurant

Izinsiza zokuthuthukisa imojuli yokuthatha i-oda lokuqala bezilinganiselwe. Kwakudingekile ukwenza okuningi, ngokushesha nangeqembu elincane. Ithimba elincane liqukethe onjiniyela abangu-2 ababeke isisekelo sayo yonke isistimu yesikhathi esizayo.

Isinqumo sabo sokuqala sinqume ikusasa lesitaki sobuchwepheshe:

  • Buyela emuva ku-ASP.NET MVC, C# ulimi. Onjiniyela babengamachashazi; lesi sitaki besijwayelekile futhi simnandi kubo.

  • I-frontend ku-Bootstrap ne-JQuery: i-interface yomsebenzisi esekelwe kuzitayela zangokwezifiso nemibhalo. 

  • I-database ye-MySQL: azikho izindleko zelayisensi, kulula ukuyisebenzisa.

  • Amaseva ku-Windows Server, ngoba i-.NET ngaleso sikhathi ingaba ku-Windows kuphela (ngeke sixoxe nge-Mono).

Ngokomzimba, konke lokhu kuvezwe “edeskini lomphathi.” 

Ukwakhiwa kwesicelo sokwamukelwa kwe-oda

Ngaleso sikhathi, wonke umuntu wayesevele ekhuluma ngama-microservices, futhi i-SOA yayisetshenziswe kumaphrojekthi amakhulu cishe iminyaka engu-5, isibonelo, i-WCF yakhululwa ngo-2006. Kodwa-ke bakhetha isisombululo esinokwethenjelwa nesifakazelwe.

Nakhu.

Umlando Wokwakha we-Dodo IS: I-Monolith Yasekuqaleni

I-Asp.Net MVC iyi-Razor, okuthi, uma icelwa efomini noma kuklayenti, ikhiqize ikhasi le-HTML elinokunikezwa kuseva. Kuklayenti, imibhalo ye-CSS ne-JS isivele ibonisa ulwazi futhi, uma kunesidingo, yenza izicelo ze-AJAX nge-JQuery.

Izicelo kuseva ziwela *ezigabeni Zokulawula, lapho indlela icubungula futhi ikhiqize ikhasi lokugcina le-HTML. Izilawuli zenza izicelo kungqimba lwengqondo ebizwa ngokuthi *Amasevisi. Isevisi ngayinye ibihambisana nengxenye ethile yebhizinisi:

  • Isibonelo, i-DepartmentStructureService inikeze ulwazi mayelana nama-pizzeria neminyango. Umnyango yiqembu lama-pizzeria aphethwe yi-franchisee eyodwa.

  • I-ReceivingOrdersService yamukelwe futhi yabalwa okuqukethwe kwe-oda.

  • Futhi i-SmsService ithumele i-SMS ngokushayela izinsiza ze-API ngokuthumela i-SMS.

Amasevisi acubungule idatha esuka kusizindalwazi futhi agcina ingqondo yebhizinisi. Isevisi ngayinye yayinenqolobane eyodwa noma ngaphezulu enegama elifanele. Zazivele ziqukethe imibuzo yezinqubo ezigciniwe kusizindalwazi kanye nongqimba lwamamephu. Izinqolobane zazinengqondo yebhizinisi, ikakhulukazi eziningi zazo ezazikhiqiza idatha yokubika. I-ORM ayizange isetshenziswe, wonke umuntu wayethembele ku-sql ebhalwe ngesandla. 

Bekukhona futhi isendlalelo semodeli yesizinda kanye namakilasi omsizi ajwayelekile, isibonelo, ikilasi le-oda, eligcine i-oda. Lapho, kungqimba, kwakukhona umsizi wokuguqula umbhalo wokubonisa ngokwemali ekhethiwe.

Konke lokhu kungamelwa yile modeli:

Umlando Wokwakha we-Dodo IS: I-Monolith Yasekuqaleni

Oda indlela

Ake sicabangele indlela yokuqala eyenziwe lula yokwenza i-oda elinjalo.

Umlando Wokwakha we-Dodo IS: I-Monolith Yasekuqaleni

Ekuqaleni indawo yayimile. Kwakukhona amanani kuyo, futhi phezulu kwakukhona inombolo yocingo kanye nombhalo othi "Uma ufuna i-pizza, shayela inombolo kanye ne-oda." Ukuze si-ode, sidinga ukusebenzisa ukugeleza okulula: 

  • Iklayenti liya kuwebhusayithi emile enamanani, likhethe imikhiqizo bese lishayela inombolo esohlwini lwewebhusayithi.

  • Ikhasimende liqamba imikhiqizo elifuna ukuyengeza ku-oda.

  • Inikeza ikheli negama lakhe.

  • Umsebenzisi uyalamukela i-oda.

  • I-oda liboniswa kusixhumi esibonakalayo sama-oda esamukelwe.

Konke kuqala ngesibonisi semenyu. Umsebenzisi ongene ngemvume wamukela i-oda elilodwa kuphela ngesikhathi. Ngakho-ke, inqola yokusalungiswa ingagcinwa kuseshini yayo (isikhathi somsebenzisi sigcinwa kumemori). Kukhona into Yenqola equkethe imikhiqizo kanye nolwazi lwekhasimende.

Iklayenti liqamba umkhiqizo, u-opharetha uyachofoza + eduze komkhiqizo, futhi isicelo sithunyelwa kuseva. Ulwazi mayelana nomkhiqizo lukhishwa kusizindalwazi futhi ulwazi mayelana nomkhiqizo lwengezwa enqoleni.

Umlando Wokwakha we-Dodo IS: I-Monolith Yasekuqaleni

Ukubhala. Yebo, lapha akudingeki ukuthi ukhiphe umkhiqizo ku-database, kodwa uwudlulisele kusukela ekugcineni. Kodwa ukuze kucace, ngibonise indlela esuka esisekelweni. 

Okulandelayo, faka ikheli negama leklayenti. 

Umlando Wokwakha we-Dodo IS: I-Monolith Yasekuqaleni

Uma uchofoza okuthi “Dala i-oda”:

  • Sithumela isicelo ku-OrderController.SaveOrder().

  • Sithola Inqola kusukela kuseshini, kunemikhiqizo ngenani esilidingayo.

  • Sengeza Inqola ngolwazi mayelana neklayenti futhi siludlulisela kundlela ye-AddOrder yekilasi le-ReceivingOrderService, lapho lugcinwa khona kusizindalwazi. 

  • I-database inamathebula anohlelo, okuqukethwe kwe-oda, iklayenti, futhi wonke axhunyiwe.

  • Isibonisi esibonakalayo se-oda siyahamba sikhiphe ama-oda akamuva futhi siwabonise.

Amamojula amasha

Ukwamukela i-oda kwakubalulekile futhi kudingekile. Awukwazi ukuqhuba ibhizinisi le-pizza uma ungenayo i-oda lokuthengisa. Ngakho-ke, uhlelo waqala ukuthola ukusebenza - kusukela cishe 2012 kuya 2015. Ngalesi sikhathi, kwavela amabhlogo amaningi ahlukene wesistimu, engizowabiza amamojula, ngokuphambene nomqondo wesevisi noma umkhiqizo. 

Imojuli isethi yemisebenzi ehlanganiswe umgomo othile webhizinisi ofanayo. Ngaphezu kwalokho, zitholakala ngokomzimba ohlelweni olufanayo.

Amamojula angabizwa ngokuthi amabhulokhi esistimu. Isibonelo, lena imojula yokubika, izixhumanisi zokuphatha, ikhishi lomkhiqizo we-tracker, ukugunyazwa. Lezi zonke izindlela ezihlukene zokusebenzelana komsebenzisi, ezinye zize zibe nezitayela ezihlukile zokubuka. Ngaphezu kwalokho, yonke into ingaphakathi kwesicelo esisodwa, inqubo eyodwa esebenzayo. 

Ngobuchwepheshe, amamojula aklanywe njengeNdawo (lo mbono waze wahlala kuwo i-asp.net core). Kwakukhona amafayela ahlukene we-frontend, amamodeli, kanye namakilasi awo okulawula. Ngenxa yalokho, uhlelo lwaguqulwa lusuka ku...

Umlando Wokwakha we-Dodo IS: I-Monolith Yasekuqaleni

...kulokhu:

Umlando Wokwakha we-Dodo IS: I-Monolith Yasekuqaleni

Amanye amamojula asetshenziswa amasayithi ahlukene (iphrojekthi esebenzisekayo), ngenxa yokusebenza okuhlukene ngokuphelele futhi ngokwengxenye ngenxa yentuthuko ehlukene, egxile kakhulu. Lokhu:

  • Site - inguqulo yokuqala iwebhusayithi dopizza.ru.

  • Thumela: ukulanda imibiko evela ku-Dodo IS ye-1C. 

  • Personal - i-akhawunti yomuntu siqu yomsebenzi. Yakhiwe ngokwehlukana futhi inendawo yayo yokungena kanye nomklamo ohlukile.

  • fs - iphrojekthi yokubamba okumile. Kamuva sasuka kuyo, sihambisa konke okuqukethwe okumile sikuyisa ku-Akamai CDN. 

Amabhulokhi asele atholakala kuhlelo lokusebenza lwe-BackOffice. 

Umlando Wokwakha we-Dodo IS: I-Monolith Yasekuqaleni

Incazelo yamagama:

  • Ukheshi - Irejista yemali yendawo yokudlela.

  • I-ShiftManager - izixhumanisi zendima ethi "Shift Manager": izibalo zokusebenza zokuthengiswa kwe-pizzeria, ikhono lokubeka imikhiqizo ohlwini lwabamisiwe, shintsha i-oda.

  • I-OfficeManager - izixhumanisi zendima "ye-Pizzeria Manager" kanye "ne-Franchisee". Lapha ungathola imisebenzi yokusetha i-pizzeria, ukukhushulwa kwayo kwebhonasi, ukwamukela nokusebenza nabasebenzi, kanye nemibiko.

  • Izikrini Zomphakathi - ukuxhumana kwama-TV namathebulethi alenga kuma-pizzeria. Ama-TV abonisa imenyu, ulwazi lokukhangisa, nesimo soku-oda lapho kulethwa. 

Basebenzise isendlalelo sesevisi evamile, ibhulokhi evamile yezigaba zesizinda se-Dodo.Core, kanye nesisekelo esivamile. Kwesinye isikhathi babesakwazi ukuholana ngamaphaseji baye komunye. Ngaphezu kwalokho, amasayithi ngamanye, njenge-dodopizza.ru noma i-personal.dodopizza.ru, nawo afinyelele izinsiza ezijwayelekile.

Lapho kuvela amamojula amasha, sazama ukuphinda sisebenzise futhi ngangokunokwenzeka ikhodi eseyakhiwe kakade yezinsizakalo, izinqubo ezigciniwe namathebula kusizindalwazi. 

Ukuze uthole ukuqonda okungcono kwesilinganiso samamojula enziwe ohlelweni, nawu umdwebo osuka ku-2012 onezinhlelo zokuthuthukisa:

Umlando Wokwakha we-Dodo IS: I-Monolith Yasekuqaleni

Ngo-2015, yonke into yayihamba ngendlela futhi nangaphezulu yayikhiqizwa.

  • Ukwamukelwa kwe-oda sekukhule kwaba ibhulokhi ehlukile Yesikhungo Sokuxhumana, lapho i-oda lamukelwa ngu-opharetha.

  • Izikrini zomphakathi ezinamamenyu nolwazi zivele kuma-pizzeria.

  • Ikhishi linemojula edlala ngokuzenzakalelayo umlayezo wezwi othi "I-Pizza Entsha" lapho i-oda elisha lifika, futhi iphrinte i-invoyisi yesithunywa. Lokhu kwenza kube lula kakhulu izinqubo ekhishini futhi kuvumela abasebenzi ukuthi bangaphazanyiswa inani elikhulu lemisebenzi elula.

  • Ibhulokhi yokulethwa kwaba yi-Delivery Cashier ehlukile, lapho i-oda lanikezwa khona umthumeli, owayethathe umsebenzi wakhe ngaphambili. Amahora akhe okusebenza ayebhekwa uma kubalwa umholo wakhe. 

Ngokufanayo, kusukela ngo-2012 kuya ku-2015, kwavela abathuthukisi abangaphezu kwe-10, ama-pizzeria angu-35 avuliwe, uhlelo lwathunyelwa eRomania futhi lulungiselelwe ukuvulwa kwamaphuzu e-USA. Onjiniyela babengasahileleki kuyo yonke imisebenzi, kodwa bahlukaniswa ngamaqembu. ngayinye ikhethekile engxenyeni yayo yesistimu. 

Izinkinga

Kubandakanya ngenxa yezakhiwo (kodwa hhayi kuphela).

Isiphithiphithi esisekelweni

Isisekelo esisodwa sifanelekile. Kungenzeka ukufeza ukuvumelana, futhi ngezindleko zamathuluzi akhelwe kumininingwane yokuxhumana. Ukusebenza nayo kujwayelekile futhi kulula, ikakhulukazi uma kukhona amatafula ambalwa nedatha encane.

Kodwa phakathi neminyaka emi-4 yentuthuko, i-database iqukethe amatafula angaba ngu-600, izinqubo ezigciniwe ezingu-1500, eziningi zazo ezazinengqondo. Ngeshwa, izinqubo ezigciniwe azinikezi inzuzo enkulu uma usebenza ne-MySQL. Azigcinwa kunqolobane egciniwe, futhi ukugcina ingqondo kuzo kwenza intuthuko kanye nokulungisa iphutha. Ukusebenzisa kabusha ikhodi nakho kunzima.

Amathebula amaningi awazange abe nezinkomba ezifanele, endaweni ethile, ngokuphambene nalokho, kwakukhona izinkomba eziningi, okwenza ukufakwa kube nzima. Cishe amathebula angama-20 kwadingeka ukuba ashintshwe—ukwenziwa kwe-oda kungathatha cishe imizuzwana emi-3-5. 

Idatha emathebula yayingahlali isesimweni esifanele kakhulu. Endaweni ethile kwakudingeka ukwenza i-denormalization. Enye idatha evame ukutholwa ibikukholomu esesimweni sesakhiwo se-XML, esandisa isikhathi sokwenza, imibuzo ende kanye nentuthuko eyinkimbinkimbi.

Amathebula afanayo ayengaphansi kakhulu izicelo ezihlukene. Amathebula adumile, njengethebula elishiwo ngenhla, athinteke kakhulu Ama-oda noma amatafula pizzeria. Ayesetshenziselwa ukubonisa izixhumanisi zokusebenza ekhishini kanye nezibalo. Ingosi iphinde yabathinta (dopizza.ru), lapho izicelo eziningi zingafika ngokuzumayo nganoma yisiphi isikhathi. 

Idatha ayizange ihlanganiswe futhi izibalo eziningi zenzeka ngempukane kusetshenziswa isisekelo. Lokhu kwakha izibalo ezingadingekile nomthwalo owengeziwe. 

Ngokuvamile ikhodi ingena ku-database lapho ingakwazi ukwenza kanjalo. Endaweni ethile kwakunokuntuleka kokusebenza kwenqwaba, endaweni ethile kwakuzodingeka ukuhlukanisa isicelo esisodwa sibe eziningana ngokusebenzisa ikhodi ukuze kusheshiswe futhi kwandiswe ukwethembeka. 

Ukubumbana Nokudideka Kukhodi

Amamojula obekufanele abe nesibopho engxenyeni yawo yebhizinisi awazange akwenze ngokwethembeka. Ezinye zazo beziphindeke kabili imisebenzi yezindima. Isibonelo, umakethi wendawo onesibopho somsebenzi wokumaketha wenethiwekhi yedolobha lakhe kwadingeka asebenzise kokubili isixhumi esibonakalayo “somlawuli” (ukusetha amaphromoshini) kanye nesixhumi esibonakalayo “se-Office Manager” (ukubuka umthelela wamaphromoshini ku ibhizinisi). Yiqiniso, ngaphakathi kokubili amamojula asebenzisa isevisi efanayo, esebenza ngokukhushulwa kwebhonasi.

Amasevisi (amakilasi ngaphakathi kwephrojekthi eyodwa enkulu ye-monolithic) angabizana ukuze anothise idatha yawo.

Ngamakilasi angamamodeli ngokwawo agcina idatha, umsebenzi wekhodi wenziwa ngokuhlukile. Endaweni ethile bekunabakhi ongacacisa ngabo izinkambu ezidingekayo. Endaweni ethile lokhu kwenziwa ngezakhiwo zomphakathi. Yiqiniso, ukuthola nokuguqula idatha kusuka kusizindalwazi bekwahlukahluka. 

Umqondo wawukuzilawuli noma amakilasi esevisi. 

Lezi zibonakala njengezinkinga ezincane, kodwa zehlise kakhulu intuthuko kanye nekhwalithi encishisiwe, okuholela ekungazinzini naseziphazameni. 

Ukuxaka kwentuthuko enkulu

Kwavela ubunzima ekuthuthukisweni uqobo. Kwakudingekile ukudala amabhlogo ahlukene wesistimu, futhi ngokuhambisana. Kwaba nzima ngokwengeziwe ukulingana nezidingo zengxenye ngayinye kukhodi eyodwa. Bekungelula ukuvumelana nokujabulisa zonke izingxenye ngasikhathi sinye. Okwengezwe kulokhu kwaba nokulinganiselwa kwezobuchwepheshe, ikakhulukazi maqondana nesisekelo nesiphetho. Kwakudingekile ukuyeka i-JQuery ukuze uvune izinhlaka ezisezingeni eliphezulu, ikakhulukazi mayelana nezinsizakalo zamakhasimende (iwebhusayithi).

Ezinye izingxenye zesistimu zingasebenzisa isizindalwazi ezifanele kakhulu lokhu. Isibonelo, kamuva saba nesandulela sokusuka ku-Redis siye ku-CosmosDB ukuze sigcine inqola yoku-oda. 

Amaqembu nabathuthukisi abasebenza endaweni yabo ngokusobala babefuna ukuzimela okwengeziwe ngezinsizakalo zabo, kokubili ngokwentuthuko kanye nemibandela yokukhishwa. Izingxabano ngesikhathi sokuhlanganisa, izinkinga ngesikhathi sokukhishwa. Uma kubathuthukisi abangu-5 le nkinga ingabalulekile, khona-ke nge-10, futhi nakakhulu ngokukhula okuhleliwe, yonke into ingaba yingozi kakhulu. Futhi okwakuzofika kwakuwukuthuthukiswa kohlelo lokusebenza lweselula (luqale ngo-2017, futhi ngo-2018 kwaba khona ukuwa okukhulu). 

Izingxenye ezihlukene zesistimu zazidinga izinkomba zokuzinza ezihlukene, kodwa ngenxa yokuxhumana okuqinile kwesistimu, asikwazanga ukuhlinzeka ngalokhu. Iphutha lapho kwakhiwa umsebenzi omusha kuphaneli yomqondisi kungenzeka ukuthi kubangele ukwamukelwa kwe-oda kusayithi, ngoba ikhodi ivamile futhi isebenziseka kabusha, isizindalwazi kanye nedatha nakho kuyafana.

Cishe kungenzeka ukugwema lawa maphutha nezinkinga ngaphakathi kohlaka lwesakhiwo esinjalo se-monolithic-modular: dala ukuhlukaniswa kwezibopho, refactor kokubili ikhodi kanye nesizindalwazi, uhlukanise ngokucacile izendlalelo kusuka kwenye, futhi uqaphe izinga nsuku zonke. Kodwa izixazululo ezikhethiwe zezakhiwo kanye nokugxila ekwandiseni ngokushesha ukusebenza kwesistimu kwaholela ezinkingeni ezindabeni zokuzinza.

Ibhulogi Amandla Engqondo iwafaka kanjani amarejista emali ezindaweni zokudlela

Uma ukukhula kwenethiwekhi ye-pizzeria (kanye nomthwalo) kuqhubeka ngesivinini esifanayo, khona-ke ngemva kwesikhashana amaconsi azoba ngendlela yokuthi uhlelo ngeke lululame. Indaba elandelayo ikhombisa kahle izinkinga esiqale ukubhekana nazo ngo-2015. 

Kubhulogi "Amandla engqondo"kukhona iwijethi ekhombisa idatha yemali engenayo yonyaka kuyo yonke inethiwekhi. Iwijethi ifinyelele ku-Dodo API yomphakathi, ehlinzeka ngale datha. Lezi zibalo manje seziyatholakala http://dodopizzastory.com/. Iwijethi yaboniswa ekhasini ngalinye futhi yenza izicelo ngesibali sikhathi njalo ngemizuzwana engama-20. Isicelo siye ku-api.dodopizza.ru futhi sabuza:

  • inani lama-pizzeria kunethiwekhi;

  • isamba semali engenayo yenethiwekhi kusukela ekuqaleni konyaka;

  • imali yanamuhla.

Isicelo sezibalo zemali engenayo saqonda ngqo kusizindalwazi futhi saqala ukucela idatha kuma-oda, sahlanganisa idatha ngokuqondile empukaneni futhi sakhipha inani. 

Amarejista emali ezindaweni zokudlela aye etafuleni elifanayo lama-oda, alayisha uhlu lwama-oda amukelwe namuhla, futhi ama-oda amasha engezwa kulo. Irejista yemali yenza izicelo zabo njalo ngemizuzwana emi-5 noma lapho ikhasi livuselelwa.

Umdwebo ububukeka kanje:

Umlando Wokwakha we-Dodo IS: I-Monolith Yasekuqaleni

Ngolunye usuku ekwindla, uFyodor Ovchinnikov wabhala isihloko eside futhi esithandwayo kubhulogi yakhe. Abantu abaningi beza kubhulogi futhi baqala ukufunda yonke into ngokucophelela. Ngenkathi umuntu ngamunye obezile efunda isiqephu sendatshana, iwijethi yemali engenayo yasebenza kahle futhi yacela i-API njalo ngemizuzwana engama-20.

I-API ibize inqubo egciniwe yokubala inani lawo wonke ama-oda kusukela ekuqaleni konyaka kuwo wonke ama-pizzeria akunethiwekhi. Ukuhlanganisa kwakusekelwe etafuleni lama-oda, elidume kakhulu. Wonke amarejista emali azo zonke izindawo zokudlela ezivuliwe ngaleso sikhathi aya kuwo. Amarejista emali ayekile ukuphendula nama-oda awamukelwanga. Abazange bamukeleke kule sayithi, abazange bavele ku-tracker, futhi umphathi we-shift wayengakwazi ukuwabona ku-interface yakhe. 

Lena akuyona indaba yodwa. Ngekwindla ka-2015, njalo ngoLwesihlanu umthwalo ohlelweni wawubucayi. Izikhathi eziningi sacima i-API yomphakathi, futhi kwake kwadingeka ukuthi sivale isayithi ngoba akukho okwakusiza. Kwakukhona ngisho nohlu lwezinsizakalo ezine-oda lokuvala ngaphansi kwemithwalo esindayo.

Kusukela kulesi sikhathi kuqhubeke, umzabalazo wethu wemithwalo kanye nokuqiniswa kohlelo uyaqala (kusukela ekwindla 2015 kuya ekwindla 2018). Kwaba lapho"Ukuwa Okukhulu" Ngaphezu kwalokho, ngezinye izikhathi kwakubuye kube nokwehluleka, okunye okwakuzwela kakhulu, kodwa isikhathi esijwayelekile sokungazinzi manje singabhekwa njengesiphelile.

Ukukhula kwebhizinisi okusheshayo

Kungani “kungenziwa kahle ngaso leso sikhathi”? Bheka nje amagrafu alandelayo.

Umlando Wokwakha we-Dodo IS: I-Monolith Yasekuqaleni

Nangonyaka wezi-2014-2015 kube nokuvulwa eRomania kanti kulungiselelwa ukuvulwa e-USA.

Iketango lakhula ngokushesha okukhulu, kwavulwa amazwe amasha, kwavela izinhlobo ezintsha ze-pizzeria, isibonelo, i-pizzeria yavulwa endaweni yokudla. Konke lokhu kwakudinga ukunakwa okubalulekile ikakhulukazi ekwandiseni imisebenzi ye-Dodo IS. Ngaphandle kwayo yonke le misebenzi, ngaphandle kokulandelela ekhishini, ukubalwa kwemikhiqizo kanye nokulahlekelwa ohlelweni, ukubonisa ukulethwa kwama-oda ehholo lenkantolo yokudla, akunakwenzeka ukuthi manje sizobe sikhuluma ngezakhiwo "ezilungile" kanye "nokulungile". ” indlela yentuthuko.

Esinye isithiyo ekubuyekezweni okufika ngesikhathi kwezakhiwo kanye nokunaka okuvamile ezinkingeni zobuchwepheshe kwakuyinhlekelele ka-2014. Izinto ezinjalo zilimaza amathuba okukhula kwamaqembu, ikakhulukazi ebhizinisini elincane elifana neDodo Pizza.

Izixazululo ezisheshayo ezisizile

Izinkinga zazidinga izixazululo. Ngokujwayelekile, izixazululo zingahlukaniswa ngamaqembu ama-2:

  • Ezisheshayo ezicisha umlilo futhi zisinike umkhawulo omncane wokuphepha futhi zisithengele isikhathi sokushintsha.

  • Isistimu futhi, ngakho-ke, yinde. Ukwenza kabusha amamojula amaningi, ukuhlukanisa ukwakhiwa kwe-monolithic ibe yizinsizakalo ezihlukene (iningi lazo alizona ezincane, kodwa kunezinsizakalo ezinkulu, futhi kukhona okwengeziwe ngalokhu. umbiko ka-Andrey Morevsky). 

Uhlu olomile lwezinguquko ezisheshayo yilo:

Khuphula isisekelo esiyinhloko

Yiqiniso, into yokuqala eyenziwa ukulwa nomthwalo ukwandisa amandla eseva. Lokhu kwenzelwa isizindalwazi esiyinhloko namaseva ewebhu. Maye, lokhu kungenzeka kuphela kuze kufike emkhawulweni othile; ngale kwalokho kuba eqolo kakhulu.

Kusukela ngo-2014, sithuthele e-Azure; sabhala ngalesi sihloko ngaleso sikhathi esihlokweni esithi “I-Dodo Pizza iletha kanjani i-pizza isebenzisa ifu le-Microsoft Azure" Kodwa ngemva kokukhuphuka kochungechunge lweseva, izindleko zesisekelo zifinyelele umkhawulo. 

Izifaniso zesizindalwazi zokufunda

Senze ama-replicas amabili esisekelo:

FundaIReplica ngezicelo zohla lwemibhalo. Isetshenziselwa ukufunda izinkomba, njengedolobha, umgwaqo, i-pizzeria, imikhiqizo (isizinda esishintshwe kancane), nakulezo zindawo lapho ukubambezeleka okuncane kwamukelekayo. Kube nezingu-2 zalezi zifaniso, saqinisekisa ukutholakala kwazo ngendlela efanayo neyenkosi.

FundaReplica ngezicelo zombiko. Le database ibinokutholakala okuphansi, kodwa yonke imibiko iye kuyo. Bangase babe nezicelo ezinzima zokubalwa kabusha kwedatha enkulu, kodwa ayithinti isizindalwazi esiyinhloko nezixhumi ezibonakalayo zokusebenza. 

Inqolobane ngekhodi

Bezingekho izinqolobane noma kuphi kukhodi (nhlobo). Lokhu kuholele kuzicelo ezengeziwe, ezingadingekile ngaso sonke isikhathi, kusizindalwazi esilayishiwe. Ekuqaleni, izinqolobane zazisenkumbulo futhi kusevisi yenqolobane yangaphandle, kwakuyiRedis. Yonke into ibingavunyelwe isikhathi, izilungiselelo zicaciswe kukhodi.

Amaseva amaningi we-backend

Ingemuva lesicelo nalo bekufanele lilinganiswe ukuze limelane nemithwalo eyengeziwe. Bekudingeka ukwenza iqoqo kusuka kuseva ye-IIS eyodwa. Sathutha iseshini yohlelo lokusebenza kusuka kumemori ku-RedisCache, okwenze kwaba nokwenzeka ukudala amaseva amaningana ngemuva kwe-balancer elula yokulayisha ene-robin eyindilinga. Ekuqaleni, i-Redis efanayo yayisetshenziswa njengama-caches, bese ihlukaniswa yaba amaningana. 

Ngenxa yalokho, i-architecture yaba inkimbinkimbi...

Umlando Wokwakha we-Dodo IS: I-Monolith Yasekuqaleni

...kodwa okunye ukushuba kwadamba.

Futhi-ke kwakudingeka ukwenza kabusha izingxenye ezilayishiwe, okuyilokho esikuthathe. Sizokhuluma ngalokhu engxenyeni elandelayo.

Source: www.habr.com

Engeza amazwana