Taariikhda Dodo IS Architecture: Monolith Hore

Ama shirkad kasta oo aan faraxsanayn oo leh monolith kuma faraxsana sideeda.

Horumarinta nidaamka Dodo IS isla markiiba wuxuu bilaabmay, sida ganacsiga Dodo Pizza, 2011. Waxay ku salaysan tahay fikradda dhamaystiran iyo wadarta digitization ee hababka ganacsiga, iyo kaligood, taas oo xitaa markaasi 2011 ay keentay su'aalo iyo shaki badan. Laakiin hadda 9 sano ayaan ku soconay waddadan - horumarkayaga, kaas oo ku bilaabmay keli-talis.

Maqaalkani waxa uu "jawaab" u yahay su'aalaha "Maxaa dib loogu qorayaa naqshadaha oo aad u samaynaysaa isbeddel baaxad leh iyo mid dheer?" dib ugu noqo maqaalkii hore "Taariikhda Dodo IS Architecture: Jidkii Xafiiska Dambe". Waxaan ku bilaabi doonaa sida horumarka Dodo IS ku bilowday, sida qaab-dhismeedka asalka ah u ekaa, sida cutubyo cusub u soo baxeen, iyo sababta oo ah dhibaatooyinka ay tahay in la sameeyo isbeddelo waaweyn.

Taariikhda Dodo IS Architecture: Monolith Hore

Maqaallo taxane ah "Waa maxay Dodo IS?" ayaa ka warramaya:

  1. Monolith hore ee Dodo IS (2011-2015). (waad joogtaa)

  2. Waddada Xafiiska Dambe: Saldhigyo gooni ah iyo Bas.

  3. Jidka dhinaca macmiilka: wejiga ka sarreeya saldhigga (2016-2017). (Waa socdaa...)

  4. Taariikhda adeegaha yar yar ee runta ah. (2018-2019). (Waa socdaa...)

  5. Qalabkii la dhameeyay ee monolith iyo xasilinta dhismaha. (Waa socdaa...)

Dhismaha hore

Sannadkii 2011-kii, dhismaha Dodo IS wuxuu u ekaa sidan:

Taariikhda Dodo IS Architecture: Monolith Hore

Cutubka ugu horreeya ee dhismuhu waa aqbalaadda. Habka ganacsigu wuxuu ahaa:

  • Macmiilku wuxuu wacay pizzeria;

  • maareeyuhu wuxuu qabtay taleefoonka;

  • ku aqbala dalab telefoon;

  • waxay ku buuxisaa si isku mid ah nidaamka aqbalaadda interface: waxay tixgelinaysaa macluumaadka ku saabsan macaamilka, xogta faahfaahinta dalabka, cinwaanka gaarsiinta. 

Isku xirka nidaamka macluumaadka wuxuu u ekaa sidan ...

Nuqulkii ugu horreeyay ee Oktoobar 2011:

Waxoogaa horumaray Janaayo 2012

Dodo Pizza System Information Delivery Pizza Restaurant

Ilaha loogu talagalay horumarinta cutubka qaadashada amarka ugu horreeya ayaa xaddidan. Waxay ahayd inaan wax badan samayno, dhaqso iyo koox yar. Koox yar ayaa ah 2 horumariye kuwaas oo seeska u dhigay nidaamka mustaqbalka oo dhan.

Go'aankoodii ugu horreeyay ayaa go'aamiyay masiirka xirmada tignoolajiyada:

  • Ku-jiidashada ASP.NET MVC, luqadda C #. Horumariyayaashu waxay ahaayeen dotnetchiki, xidhmadani waxay ahayd mid ay yaqaaneen oo ay ku farxeen iyaga.

  • Frontend on Bootstrap iyo JQuery: isdhexgal isticmaale ee qaababka iyo qoraallada is-qori 

  • Xogta MySQL: kharash la'aan, fududahay in la isticmaalo.

  • Adeegayaasha Windows Server-ka, sababtoo ah .NET markaa waxa ay hoos iman karaan oo kaliya Windows (kama wada hadli doono Mono).

Jir ahaan, waxaas oo dhan waxaa lagu muujiyay "dedic at the hoster". 

Dalbo Qaabdhismeedka Codsiga Qaadashada

Kadibna qof kastaa wuxuu horeyba uga hadlay adeegyada yaryar, SOA waxaa loo adeegsaday mashruucyo waaweyn 5 sano, tusaale ahaan, WCF ayaa la sii daayay 2006. Laakiin markaa waxay doorteen xal la isku halayn karo oo la xaqiijiyay.

Halkan waa.

Taariikhda Dodo IS Architecture: Monolith Hore

Asp.Net MVC waa Razor, kaas oo, codsi ka yimid foom ama macmiil, ka dhigaya bogga HTML oo leh qaabaynta serverka. Macmiilka, qoraallada CSS iyo JS waxay horeba u muujinayaan macluumaadka iyo, haddii loo baahdo, ku fuliyaan codsiyada AJAX iyada oo loo marayo JQuery.

Codsiyada server-ka waxay ku dhamaanayaan * fasalada maamulayaasha, halkaasoo habaynta iyo jiilka bogga HTML ee ugu dambeeya ay ku dhacaan habka. Koontaroolayaashu waxay codsadaan lakabka macquulka ah ee loo yaqaan *Adeegyada. Mid kasta oo ka mid ah adeegyadu waxa uu u dhignaa qayb ka mid ah dhinacyada ganacsiga:

  • Tusaale ahaan, DepartmentStructureService waxay bixisay macluumaadka ku saabsan pizzerias, qaybaha. Waaxdu waa koox ka kooban pizzerias oo uu maamulo hal shirkad ganacsi.

  • Adeegga Amarada Qaadashada waa la aqbalay oo la xisaabiyay qaabka dalabka.

  • Iyo SmsService waxay soo dirtay SMS iyagoo wacaya adeegyada API si ay ugu soo diraan SMS.

Adeegyada waxa laga farsameeyay xogta xogta kaydka, macquulnimada ganacsiga kaydsan. Adeeg kastaa wuxuu lahaa hal ama ka badan *Bakhaarro leh magaca ku habboon. Waxay hore ugu jireen su'aalo ku saabsan habraacyada kaydsan ee kaydka xogta iyo lakabka khariidado. Waxa jiray caqli gal ganacsi oo ku jiray kaydadka, gaar ahaan wax badan oo ku saabsan kuwa soo saaray xogta warbixinta. ORM lama isticmaalin, qof kastaa wuxuu ku tiirsanaa gacan-ku-qoran sql. 

Waxa kale oo jiray lakabka qaabka domainka iyo fasalada caawiyayaasha caadiga ah, tusaale ahaan, fasalka Dalabka ee kaydiyay dalabka. Isla goobtaas, lakabka, waxaa jiray caawiye u beddelaya qoraalka bandhiga iyadoo loo eegayo lacagta la doortay.

Waxaas oo dhan waxaa lagu matali karaa moodelkaas:

Taariikhda Dodo IS Architecture: Monolith Hore

Dariiqa Dalbashada

Tixgeli hab bilow ah oo la fududeeyay si aad u abuurto amarkan.

Taariikhda Dodo IS Architecture: Monolith Hore

Markii hore, goobtu waxay ahayd mid taagan. Waxay lahayd qiimo, iyo korka - lambarka taleefanka iyo qoraalka "Haddii aad rabto pizza - wac lambarka oo dalbo." Si aad u dalbato, waxaan u baahanahay inaan hirgelino socodka fudud: 

  • Macmiilku waxa uu soo booqdaa goob taagan oo leh qiimayaal, doorta badeecadaha oo wac lambarka ku qoran goobta.

  • Macmiilku wuxuu magacaabayaa alaabta uu rabo inuu ku daro dalabka.

  • Wuxuu bixiyaa cinwaankiisa iyo magaciisa.

  • Xiriiriyaha ayaa aqbalaya amarka.

  • Dalabka waxaa lagu soo bandhigay dalabka interface-ka la aqbalay.

Dhammaan waxay ka bilaabmaan muujinta menu-ka. Isticmaale-shaqeeyaha gudaha galay waxa uu aqbalaa hal dalab markiiba. Sidaa darteed, baabuurka qabyada ah waxaa lagu kaydin karaa fadhigiisa (kalfadhiga isticmaalaha waxaa lagu kaydiyaa xusuusta). Waxa jira shay Cart ka kooban badeecooyin iyo macluumaadka macaamiisha.

Macmiilku waxa uu magacaabayaa alaabta, hawlwadeenku waxa uu gujiyaa + ku xiga badeecada, codsina waxaa loo diraa server-ka. Macluumaadka ku saabsan alaabta waxaa laga soo saaray kaydka xogta iyo macluumaadka ku saabsan alaabta ayaa lagu darayaa gaariga.

Taariikhda Dodo IS Architecture: Monolith Hore

tacliiq. Haa, halkan kama soo saari kartid alaabta kaydka, laakiin ka soo wareeji dhinaca hore. Laakin si cad, waxaan si sax ah u muujiyay dariiqa laga soo bilaabo database-ka. 

Marka xigta, geli ciwaanka iyo magaca macmiilka. 

Taariikhda Dodo IS Architecture: Monolith Hore

Markaad gujiso "Create Order":

  • Codsiga waxaa loo diraa OrderController.SaveOrder().

  • Waxaan ka helnaa Cart fadhiga, waxaa jira alaabooyin inta aan u baahanahay.

  • Waxaan ku kabnay Gaariga macluumaadka ku saabsan macmiilka waxaanan u gudbinaa habka AddOrder ee fasalka Adeegga Bixinta, halkaasoo lagu keydiyo xogta macluumaadka. 

  • Xogta kaydku waxa ay leedahay jaantusyo ay ku qoran yihiin nidaamka, habka uu u samaysan yahay, macmiilka, dhammaantoodna way isku xidhan yihiin.

  • Interface-ka soo bandhigida dalabka ayaa taga oo soo saara amaradii ugu dambeeyay oo soo bandhiga.

Qaybaha cusub

Qaadashada amarka waxay ahayd muhiim oo lama huraan ah. Ma samayn kartid ganacsi pizza ah haddii aadan haysan amar lagu iibiyo. Sidaa darteed, nidaamku wuxuu bilaabay inuu helo shaqeyn - qiyaastii laga bilaabo 2012 ilaa 2015. Inta lagu jiro wakhtigan, blocks badan oo kala duwan oo nidaamka soo baxay, kuwaas oo aan wici doonaa modules, oo ka soo horjeeda fikradda adeegga ama badeecada. 

Module waa hawlo shaqo oo ay ku midaysan yihiin qaar ka mid ah yoolalka ganacsi ee caadiga ah. Isla mar ahaantaana, waxay jidh ahaan ku jiraan codsi isku mid ah.

Modules waxaa lagu magacaabi karaa blocks system. Tusaale ahaan, kani waa cutubka warbixinta, isdhexgalka maamulka, raadraaca cuntada ee jikada, oggolaansho. Kuwani dhammaantood waa is-dhexgal isticmaale oo kala duwan, qaar xitaa waxay leeyihiin qaabab muuqaal oo kala duwan. Isla mar ahaantaana, wax walbaa waxay ku dhex jiraan qaabka hal codsi, hal geedi socod. 

Farsamo ahaan, modules-yada waxa loo nashqadeeyay sidii Aaga (fikraddan oo kale xitaa way ku sii jirtay asp.net xudunta). Waxaa jiray faylal gaar ah oo loogu talagalay geesaha hore, moodooyinka, iyo sidoo kale fasaladooda xakamaynta. Natiijo ahaan, nidaamku wuxuu ka beddelay kan ...

Taariikhda Dodo IS Architecture: Monolith Hore

... kan:

Taariikhda Dodo IS Architecture: Monolith Hore

Qaybaha qaarkood waxaa lagu fuliyaa goobo gaar ah (mashruuc la fulin karo), iyadoo ay ugu wacan tahay shaqeyn buuxda oo gooni ah iyo qayb ahaan ay sabab u tahay xoogaa gooni ah, horumarin badan oo diiradda lagu saaray. Tani:

  • Site - nooca koowaad goobta dodopizza.ru.

  • dhoofinta: soo dejinta warbixinnada Dodo IS ee 1C. 

  • Personal - xisaabaadka gaarka ah ee shaqaalaha. Waxaa loo sameeyay si gooni ah waxayna leedahay meel laga soo galo iyo naqshad gooni ah.

  • fs - mashruuc loogu talagalay martigelinta statics. Ka dib waanu ka guurnay, anagoo u guurnay dhammaan statics-ka Akamai CDN. 

Inta kale ee baloogyada waxay ku jireen codsiga BackOffice. 

Taariikhda Dodo IS Architecture: Monolith Hore

Sharaxaada magaca:

  • Khasnaji - miiska lacagta makhaayadda.

  • ShiftManager - isdhexgalka doorka "Maareeyaha Shift": tirakoobyada hawlgalka ee iibka pizzeria, awoodda lagu dhejiyo alaabta liiska joogsiga, beddel amarka.

  • OfficeManager - is-dhexgalka ee "Maareeyaha Pizzeria" iyo doorarka "Franchisee". Halkan waxaa ah hawlo la ururiyay oo loogu talagalay samaynta pizzeria, dallacaadaha gunnada, qaadashada iyo la shaqaynta shaqaalaha, warbixinnada.

  • Shaashadaha Dadweynaha - is-dhexyaalka TV-yada iyo tablet-yada ku dheggan pizzeriyada. TV-yadu waxay soo bandhigaan menu-yada, macluumaadka xayaysiinta, heerka dalbashada marka la keeno. 

Waxay adeegsadeen lakabka adeega caadiga ah, block caadiga ah ee fasalada domain Dodo.Core, iyo saldhig guud. Mararka qaarkood waxay weli u horseedi karaan marinnada midba midka kale. Intaa waxaa dheer, goobaha gaarka ah, sida dodopizza.ru ama personal.dodopizza.ru, ayaa sidoo kale helay adeegyada guud.

Markii cutubyo cusub ay soo baxeen, waxaan isku daynay inaan dib u isticmaalno koodka hore ee adeegyada, habraacyada la keydiyay iyo miisaska keydka xogta ilaa ugu badnaan. 

Si loo fahmo miisaanka cutubyada lagu sameeyay nidaamka, halkan waa jaantuska 2012 oo leh qorshayaal horumarineed:

Taariikhda Dodo IS Architecture: Monolith Hore

Sannadkii 2015, wax walbaa waxay ku jireen khariidadda oo xitaa wax badan ayaa ku jiray wax soo saarka.

  • Oggolaanshaha dalabku wuxuu u koray qayb gooni ah oo ka mid ah Xarunta Xiriirka, halkaas oo amarka uu aqbalo hawlwadeenku.

  • Waxa jiray shaashado dadwayne oo ay ku jiraan menus iyo macluumaad sudhay pizzerias.

  • Jikada waxa ay leedahay module si toos ah u daaraya fariinta codka "Pizza cusub" marka dalabka cusubi yimaado, sidoo kale daabaca qaansheegta wariyaha. Tani waxay si weyn u fududaynaysaa hababka jikada, waxay u oggolaanaysaa shaqaalaha in aanay ku mashquulin tiro badan oo hawlgallo fudud ah.

  • Qaybta keenista waxay noqotay Jeegaynta Gaadhista oo gooni ah, halkaas oo amarka lagu soo saaray warqaadihii hore u qaatay shaqada. Wakhtigiisa shaqada waxa lagu xisaabtamay xisaabinta mushaharka. 

Isku soo wada duuboo, laga bilaabo 2012 ilaa 2015, in ka badan 10 horumariyayaal ayaa soo muuqday, 35 pizzerias ayaa la furay, waxay dejiyeen nidaamka Romania waxayna u diyaar garoobeen furitaanka xarumaha Mareykanka. Soosaarayaashu hadda kama aysan qaban dhammaan hawlaha, laakiin waxa loo qaybiyay kooxo. mid kastaa wuxuu ku takhasusay qaybtiisa nidaamka. 

Dhibaatooyinka

Oo ay ku jiraan sababtoo ah qaab-dhismeedka (laakiin kaliya maaha).

Qalalaasaha saldhiga

Hal saldhig ayaa ku habboon. Joogteynta ayaa lagu gaari karaa dhexdeeda, iyo kharashka qalabka lagu dhisay keydka macluumaadka ee xiriirka ah. La shaqaynteeda waa la yaqaan oo ku habboon, gaar ahaan haddii ay jiraan miisas yar iyo xog yar.

Laakiin in ka badan 4 sano oo horumarineed, xogta ayaa soo baxday in ay leedahay ilaa 600 miisaska, 1500 hababka kaydsan, kuwaas oo qaar badan oo ka mid ah ay sidoo kale lahaayeen macquul. Hoogay, nidaamyada kaydsan ma keenaan faa'iido badan markaad la shaqeyneyso MySQL. Laguma kaydiyo saldhigga, iyo kaydinta macquulka ah ee ku jira waxay adkeynaysaa horumarka iyo khaladka. Dib u isticmaalka koodku sidoo kale waa adag yahay.

Miisas badan ma lahayn tusmooyin ku habboon, meel, liddi ku ah, waxaa jiray tiro badan oo index, taas oo ka dhigay adag in la geliyo. Waxay ahayd lagama maarmaan in la beddelo qiyaastii 20 miisaska - macaamil ganacsi si loo abuuro amar waxay qaadan kartaa ilaa 3-5 ilbiriqsi. 

Xogta shaxdu had iyo jeer may ahayn qaabka ugu habboon. Meel ay lagama maarmaan ahayd in la sameeyo denormalization. Qayb ka mid ah xogta sida joogtada ah loo helay waxay ku jirtay tiir qaab dhismeed XML ah, tani waxay kordhisay wakhtiga fulinta, way dheeraysay waydiimaha waxayna adkaynaysaa horumarka.

Isla miisaska ayaa aad loo soo saaray codsiyo kala duwan. Miisaska caanka ah ayaa si gaar ah u dhibtooday, sida shaxda kor ku xusan. amarada ama miisaska pizzeria. Waxaa loo isticmaalay in lagu muujiyo isdhexgalyada hawlgalka ee jikada, falanqaynta. Goob kale ayaa la soo xidhiidhay (dodopizza.ru), halkaas oo wakhti kasta codsiyo badan ay si lama filaan ah u iman karaan. 

Xogta lama soo wada ururin oo xisaabo badan ayaa ka dhacay duulista iyadoo la adeegsanayo saldhigga. Tani waxay abuurtay xisaabin aan loo baahnayn iyo culays dheeraad ah. 

Badanaa koodka wuxuu aaday keydka macluumaadka markii uu awoodi waayay inuu sidaas sameeyo. Meel aan ka jirin hawlo badan oo ku filan, meel ay lagama maarmaan tahay in hal codsi lagu faafiyo dhowr iyada oo loo marayo koodka si loo dedejiyo loona kordhiyo kalsoonida. 

Isku-xidhka iyo qarinta koodka

Module-kii la rabay in ay mas'uul ka yihiin qaybtooda ganacsiga si daacad ah uma aysan qaban. Qaarkood waxay lahaayeen isku-duubni shaqooyin door ah. Tusaale ahaan, suuqle maxalli ah oo mas'uul ka ah dhaqdhaqaaqa suuq-geyneed ee shabakadda ee magaaladiisa waxay ahayd inuu isticmaalo labadaba "Admin" interface (si loo abuuro xayeysiis) iyo "Maamulaha Xafiiska" interface (si loo eego saameynta xayeysiinta ee ganacsiga). Dabcan, gudaha labada qaybood waxay adeegsadeen adeeg isku mid ah oo la shaqeeyay dallacaadyada gunnada.

Adeegyada (fasalada ku jira hal mashruuc oo waaweyn) way is wici karaan si ay xogtooda u kobciyaan.

Iyada oo leh fasallada moodeelka laftooda ee kaydiya xogta, shaqada code waxaa loo fuliyay si ka duwan. Meel ay ku yaalliin dhismeyaal ay suurtagal ahayd in lagu qeexo meelaha loo baahan yahay. Meel tan waxaa lagu sameeyay hanti dadweyne. Dabcan, helitaanka iyo beddelka xogta xogta kaydka ayaa kala duwanayd. 

Macquulku wuxuu ahaa mid kantaroolayaasha ama fasallada adeegga. 

Kuwani waxay u muuqdaan dhibaatooyin yaryar, laakiin waxay si weyn u yareeyeen horumarka iyo tayada hoos u dhaca, taasoo keentay xasillooni darro iyo cayayaan. 

Kakanaanta horumarka ballaaran

Horumarka laftiisa waxaa ka dhashay dhibaatooyin. Waxay ahayd lagama maarmaan in la sameeyo blocks kala duwan ee nidaamka, iyo barbar socda. Ku dhejinta baahiyaha qayb kasta hal kood ayaa noqday mid aad u adag. Ma fududa in lagu heshiiyo lagana farxiyo dhammaan qaybaha isku mar. Waxaa lagu daray tan waxaa xaddiday tignoolajiyada, gaar ahaan marka la eego saldhigga iyo xagga hore. Waxa lama huraan noqotay in laga tago jQuery dhanka qaab-dhismeedka heerka sare ah, gaar ahaan dhanka adeegyada macmiilka (website).

Qaybaha nidaamka qaarkood waxay isticmaali karaan xog-ururinta kuwaas oo tan ku habboon. Tusaale ahaan, ka dib waxaan haysanay kiis adeegsi ah oo aan ka guurnay Redis una guurnay CosmosDB si aan u kaydino dambiisha dalabka. 

Kooxaha iyo kuwa horumariya ee ku lug leh goobtooda waxay si cad u rabeen madax-banaani dheeraad ah oo loogu talagalay adeegyadooda, hadday noqoto horumarinta iyo soo-bandhigista. Isku dhafka khilaafaadka, arrimaha sii daaya. Haddii 5 horumarinta dhibaatadani waa mid aan qiimo lahayn, ka dibna 10, iyo xitaa in ka badan oo korniinka la qorsheeyay, wax walbaa waxay noqon lahaayeen kuwo aad u daran. Oo ka hor waxay ahayd in la horumariyo arjiga mobilada (wuxuu bilaabmay 2017, iyo 2018 wuxuu ahaa dayrta weyn). 

Qaybaha kala duwan ee nidaamka ayaa u baahday heerar kala duwan oo xasilooni ah, laakiin sababtoo ah isku xirnaanta xooggan ee nidaamka, ma aanan bixin karin tan. Cilad ku jirta horumarinta shaqada cusub ee guddiga maamulka ayaa si fiican u dhici karta in la aqbalo amarka goobta, sababtoo ah koodhka waa mid caadi ah oo dib loo isticmaali karo, xogta iyo xogta sidoo kale waa isku mid.

Waxay u badan tahay inay suurtogal tahay in laga fogaado khaladaadkan iyo dhibaatooyinkan gudaha qaabka qaabdhismeedka monolithic-modular: samee qaybinta mas'uuliyadda, dib u habeynta code iyo database labadaba, si cad u kala saar lakabyada midba midka kale, la soco tayada maalin kasta. Laakiin xalalka qaabdhismeedka ee la doortay iyo diiradda saaraya fidinta degdega ah ee shaqeynta nidaamka ayaa horseeday dhibaatooyin xagga xasilloonida.

Sida Awoodda Maskaxda ee blogku u dhigto diiwaannada lacagta caddaanka ah ee makhaayadaha

Haddii kobaca shabakadda pizzeria (iyo culeyska) ay ku sii socoto isla xawligeeda, ka dib wakhti ka dib dhicitaanku wuxuu noqon lahaa mid aan nidaamku kor u kicin. Waxa ay si fiican u muujineysaa dhibaatooyinka aan bilownay in aan la kulanno 2015, halkan waa sheeko noocaas ah. 

In blog-ka"Awood maskaxeed"wuxuu ahaa widget muujinaya xogta dakhliga sanadka ee shabakada oo dhan. Qalabka widget-ku wuxuu galay Dodo public API, kaas oo bixiya xogtan. Tirakoobkaan hadda waxaa laga heli karaa http://dodopizzastory.com/. Qalabka widget-ka waxa lagu muujiyay bog kasta oo waxa uu ku codsaday wakhti 20 ilbiriqsi kasta. Codsiga wuxuu tagay api.dodopizza.ru wuxuuna codsaday:

  • tirada pizzerias ee shabakadda;

  • wadarta dakhliga shabakada tan iyo bilowgii sanadka;

  • dakhliga maanta.

Codsiga tirakoobka ee dakhliga ayaa si toos ah u galay kaydka xogta wuxuuna bilaabay inuu codsado xogta amarrada, isu geynta xogta duulista iyo bixinta lacagta. 

Miisaska lacagta ee maqaayadaha ayaa isla shaxdii dalabaadka aaday, waxaana laga soo dejiyay liiska dalabaadka maanta soo gaaray, waxaana lagu daray dalabaad cusub. Diiwaanada lacagta caddaanka ah waxay sameeyeen codsiyadooda 5 ilbiriqsi kasta ama bogga dib u cusbooneysiinta.

Jaantusku wuxuu u ekaa sidan:

Taariikhda Dodo IS Architecture: Monolith Hore

Mid ka mid ah dayrta, Fyodor Ovchinnikov ayaa ku qoray maqaal dheer oo caan ah boggiisa. Dad badan ayaa u yimid blog-ka waxayna bilaabeen inay wax walba si taxadar leh u akhriyaan. Iyadoo mid kasta oo ka mid ah dadka yimid ay akhrinayeen maqaalka, widget-ka dakhligu si sax ah ayuu u shaqeeyay wuxuuna codsaday API 20 ilbiriqsi kasta.

API-ku waxa uu u yaqaan hab kaydsan si loo xisaabiyo wadarta dalabaadka oo dhan tan iyo bilowgii sanadka ee dhammaan pizzerias ee silsiladda. Isku darka ayaa ku saleysnaa miiska dalabka, kaas oo ah mid aad loo jecel yahay. Dhammaan miisaska lacagta caddaanka ah ee dhammaan makhaayadaha furan ee wakhtigaas ayaa taga. Miisaska lacagta caddaanka ah ayaa joojiyay ka jawaabista, amarada lama aqbalin. Sidoo kale lagama aqbalin goobta, kama muuqan raadiyaha, maareeyaha shaqada ma arki karo iyaga interface. 

Tani maaha sheekada kaliya. Dayrta 2015, Jimce kasta culayska nidaamka ayaa ahaa mid muhiim ah. Dhowr jeer waxaan daminay API-ga dadweynaha, iyo hal mar, xitaa waa inaan daminaa goobta, sababtoo ah waxba ma caawin. Xitaa waxaa jiray liis adeegyo ah oo leh amarka xiritaanka ee culeyska culus.

Hadda laga bilaabo, halgankayaga culeyska iyo xasilinta nidaamka ayaa bilaabmaya (laga bilaabo dayrta 2015 ilaa dayrta 2018). waa markii ay dhacday"dayrta weyn" Intaa waxaa dheer, guul-darrooyinka ayaa sidoo kale mararka qaarkood dhacay, qaarkood waxay ahaayeen kuwo aad xasaasi u ah, laakiin muddada guud ee xasilloonida ayaa hadda loo tixgelin karaa in la dhaafay.

Kobac ganacsi oo degdeg ah

Maxaa isla markiiba loo qaban waayey? Kaliya fiiri jaantusyada soo socda.

Taariikhda Dodo IS Architecture: Monolith Hore

Sidoo kale 2014-2015 waxaa ka furmay Romania oo furitaanka USA la diyaarinayey.

Silsiladda ayaa si dhakhso ah u koray, waddamo cusub ayaa furmay, qaabab cusub oo pizzerias ah ayaa soo muuqday, tusaale ahaan, pizzeria ayaa laga furay barxadda cuntada. Waxaas oo dhami waxay u baahdeen fiiro gaar ah oo gaar ah si loo ballaariyo hawlaha Dodo IS. Haddii aan dhammaan hawlahaas, iyada oo aan la socon jikada, xisaabinta alaabta iyo khasaaraha nidaamka, soo bandhigida amarrada ee hoolka maxkamadda cuntada, uma badna in aan hadda ka hadalno qaab-dhismeedka "saxda ah" iyo "saxda ah" ” habka horumarka.

Caqabad kale oo hortaagan dib-u-eegisga wakhtiga ku habboon ee qaab-dhismeedka iyo guud ahaan u fiirsashada dhibaatooyinka farsamada waxay ahayd xiisadda 2014-ka. Waxyaabahan oo kale waxay si adag ugu dhufteen fursadaha kooxaha si ay u koraan, gaar ahaan ganacsiga da'da yar sida Dodo Pizza.

Xalka Degdega ah ee caawiyay

Dhibaatooyinka loo baahan yahay xal. Caadi ahaan, xalalka waxaa loo qaybin karaa 2 kooxood:

  • Kuwa degdega ah ee damiya dabka oo siiya xad yar oo badbaado ah oo naga iibsada waqti aan ku bedelno.

  • Nidaam iyo, sidaas darteed, dheer. Dib-u-habaynta tiro qaybo ah, u qaybinta qaab-dhismeedka monolithic adeegyo gaar ah (badankoodu maaha kuwo yaryar, laakiin waa adeegyo makro ah, waxaana jira wax badan oo arrintan ku saabsan. Warbixinta Andrey Morevskiy). 

Liiska qallalan ee isbeddellada degdegga ah waa sida soo socota:

Kor u qaad sayidkii saldhiga

Dabcan, waxa ugu horreeya ee la sameeyo si wax looga qabto culeyska waa in la kordhiyo awoodda server-ka. Tan waxa loo sameeyay kaydka xogta sare iyo mareegaha shabakada Hoogay, tani waxay suurtogal u tahay oo kaliya ilaa xad gaar ah, ka dibna waxay noqotaa mid aad u qaali ah.

Tan iyo 2014, waxaan u guurnay Azure, waxaan sidoo kale ku qornay mawduucan wakhtigaas maqaalka "Sida Dodo Pizza ay u bixiso Pizza Isticmaalka Microsoft Azure Cloud" Laakiin ka dib koror isdaba joog ah oo ku yimid server-ka saldhigga, waxay ka soo horjeedaan kharashka. 

Nuqullada saldhigga u ah akhriska

Laba nuqul ayaa loo sameeyay saldhigga:

ReadReplica codsiyada tixraaca. Waxaa loo isticmaalaa in lagu akhriyo hagayaasha, nooca, magaalada, wadada, pizzeria, alaabta ( domain si tartiib ah u bedelay ), iyo kuwa interfaces halkaas oo dib u dhac yar la aqbali karo. Waxaa jiray 2 ka mid ah nuqulladan, waxaan hubinnay helitaankooda si la mid ah sayidyada.

ReadReplica ee Codsiyada Warbixinta. Xog-ururintani waxa ay lahayd helitaan hoose, laakiin dhammaan warbixinnada ayaa u baxay. U ogolow inay helaan codsiyo culus oo ku saabsan xisaabinta xogta weyn, laakiin ma saameeyaan xogta muhiimka ah iyo isdhexgalka hawlgalka. 

Caches ee koodka

Meelna kuma jirin koodka (dhammaan). Tani waxay keentay codsiyo dheeri ah, oo aan had iyo jeer daruuri ahayn, oo la xidhiidha xogta kaydinta. Kaysyadu waxay ahaayeen marka hore labadaba xusuusta iyo adeegga kaydinta dibadda, taasi waxay ahayd Redis. Wax walba wakhti baa buray, habayntu waxay ku qeexan tahay koodka.

Adeegayaal badan oo dhabarka dambe

Dhabarka dambe ee arjiga ayaa sidoo kale loo baahday in la miisaamo si loo maareeyo culayska shaqada ee kordhay. Waxay ahayd lagama maarmaan in laga sameeyo koox ka mid ah iis-server. Dib ayaan u dhignay fadhiga codsiga Laga soo bilaabo xusuusta ilaa RedisCache, taas oo suurtogal ka dhigtay in la sameeyo dhowr server oo ka dambeeya dheellitirka culeyska fudud ee wareega wareega. Markii hore, Redis isku mid ah ayaa loo isticmaalay sida kaydinta, ka dibna waxaa loo kala qaybiyay dhowr. 

Natiijo ahaan, qaab-dhismeedku wuxuu noqday mid aad u adag ...

Taariikhda Dodo IS Architecture: Monolith Hore

Laakiin qaar ka mid ah xiisadda waa laga saaray.

Kadibna waxa lagama maarmaan noqotay in dib loo habeeyo qaybaha la raray, kuwaas oo aanu fulinay. Waxaan kaga hadli doonaa arrintan qaybta xigta.

Source: www.habr.com

Add a comment