Digniinaha Mar Keliya Ku Shida, Ma Aha Mar Server Kasta
Mid ka mid ah digniinahayaga shaqo — "credits yar" oo app-ka la daabacay ee builder-ka — waa in ay noo gaarto ugu badnaan mar maalintii. Hal galab ayaa shan jeer noo timid. Sababtu: nuqul kasta oo API-ga ah wuxuu xusuusanayay digniinaha uu hore u diray xusuusteeda gudaheeda, sidaas awgeed labada server ayaa mid walba ka diray laba jeer, deploy kasta na wuxuu tirtiray xusuustaas oo dib u oggolaaday inay diraan mar kale. Isla qaabkaas ayaa shaqada background-ka ka dhigay inay labo jeer shaqeyso. Labaduba hadda waxay is-dhex galaan kayd la wadaago, oo labaduba waxay ku fashilmaan dhinaca badbaadada haddii kaydkaas aan la gaari karin.
Calaamadda
Mythex wuxuu digniinaha kooxdeena u diraa marka wax u baahan yihiin fiiro: adeeg ayaa hoos u dhacay, shaqo ayaa istaagtay, ama credit balance-ka builder-ka ayaa yaraanaya intuu app-kiisu daabacan yahay. Digniin kasta wuxuu leeyahay daaqad dedupe — muddo digniinta isku mid ah mar keliya loo diro. Digniinta credits yar, daaqaddaasi waa 24 saac.
Shan nuqul oo isku digniin ah hal galab ayaa macnaheedu yahay daaqaddu ma hayn. Waxa ka sii dareeraya, waxay ku imanayeen labo labo, qiyaastii 11 daqiiqo oo kala dhexeeya.
Sababta ay ku dhacday
Xirmada digniinaha ee aan leenahay dedupe-keeda waxay ku haysay xusuusta: miis oo leh "furaha digniinta → markii ugu dambaysay la diray", gudaha habka socda. Taasi waxay shaqaysaa marka uu jiro hal habka oo aan dib u bilaabmin. Wax-soo-saarka waxba ma aha:
- Laba API replicas. Wax-soo-saarka waxaa ku jira laba nuqul oo API ah. Mid kastaa miiskiisa ayuu lahaa, sidaas awgeed mid kastaa wuxuu diray digniinta mar. Taasi waa labooyinka.
- Deploys. Deploy kasta wuxuu beddelaa labada replicas habab cusub oo miisaska madhan. Deploy-ka ka dib, digniintii dib ayay u baxday, sikii aan waligeed la diri.
Dhaartii ~11 daqiiqo ee u dhexaysay labada digniin ee labo-labo, waxay ka timid shaqada kiciyaysa digniintan. Waxay ku socotaa labada replicas oo qufac qaadata, sidaas awgeed replicas-ka ayaa mar mar qufaca ku guuleysta, mid kastaa wuxuu kicinayaa digniinta markii uu dhigiisa yimaado.
Waxaa jiray cillad labaad oo jilicsan oo ku jirtay isla koodkaas. Si uusan miiska u kordhin siday, waxay naftiisa nadiifin jirtay markii ay gaarto 500 furaha — tirinaysa dhammaan xogta ka dhaaftay 15 daqiiqo, iyadoo aan loo eegin daaqaddeeda. Xaaladaha culeyska culeyska ah, dedupe 24 saac ah wuxuu ku dhici karaa rubuc saac.
Xalka
Hal diiwaan oo la wadaago digniin kasta
Kahor inta API-gu digniin dirin, hadda wuxuu furaha dedupe-ka ee digniintaas ku dalbaa Redis — kayd xusuus la wadaago oo labada replicas ay la xidhiidhaan, oo aan dib u bilaabmin marka API-gu dib u bilaabmo. Dalabku waa hal qaab oo fudud: "dhig furahan kaliya haddii aanu jirin, oo dhamaad ka dib daaqadda". Replica kii hore ayaa diraya digniinta; kii kale wuu ogaanayaa in furahu qabsan yahay oo wuu aamusaa. Process cusub oo deploy kadib ayaa helaya furaha wali jira.
Furahan iyo daaqaddiisa waxay ka yimaadaan heerka isku mid ah ee xirmada digniinaha ku adeegsato, hadda la wadaago, sidaas awgeed labada lakab ma ay isku khilaafi karaan waxa ka dhigan "isla digniinta".
Fail open, ma aha closed
Go'aankii ugu muhiimsanaa wuxuu ahaa waxa la sameeyo marka Redis aan la gaari karin. Waxaynu dooranay in digniinta la diro si kastaba ha ahaato. Haddii Redis uu hoos u dhaco, ama aanu ka jawaabin 1.5 ilbiriqsi, digniinta waa la diraa. Digniin labaad waa buufis; digniin aan la diri karin waa qof aan loo sheegin.
Digniinaha ugu adag, P0, dedupe waligood ma joojiyo.
Digniin kasta wuxuu hayaa daaqaddiisa
Dedupe-ka xusuusta ee xirmada digniinaha, hadda gal kasta wuxuu kaydiyaa waqtiga ay daaqaddiisu dhammaanayso, iyo nadiifintu waxay tirtirtaa oo keliya gelinnada daaqaddooda dhammaatay. Furaha 24 saac wuxuu sii joogaa 24 saac, inta digniin kale ee yimaadaana.
Isla dhibaatadii, meel kale
Isla qaabkaas ayaa sidoo kale shaqada background-ka laba jeer u sameeyay: shaqo isku-xidhan oo sii haynaysa diiwaankeenna xaaladda workspace kasta oo waafaqsan sandbox provider-keenna. Mar kasta oo ay socoto, waxay liistaa sandbox kasta oo akoonka ku jira — kumanaan wax-soo-saarka, qiyaastii shan ilbiriqsi — iyo mashruuc kasta oo socda ama la joojiyay. Labada replicas waxay socodsiinayeen shantii daqiiqo kasta.
Qorista ay sameysaa waa idempotent — iyo markay labo jeer dhacdo waxay soo saartaa isla natiijadii mar keliya — sidaas awgeed wax ma jabin. Waxay ahayd oo kaliya shaqo laba jibaar. Hadda daaqad kasta oo laba daqiiqo ah waxaa lagu dalbaa Redis siday u dalbanayeen meterkeenna isticmaalka, oo keliya replica-ka dalbaa ayaa socodsiinaya. Haddii Redis aan la gaari karin, shaqadu waa ay socotaa — shaqada laba jeer samaynta waa wax aan waxyeello lahayn; shaqada aan la samayn ayaa waxyeello leh.
Sida aan u tijaabinnay
Tijaabooyinku waxay ku dayan yihiin dejinta dhabta ah. Waxay soo rartaa xirmada digniinta laba jeer, sida laba "replicas" oo kala gooni ah, iyaga oo xidhaya hal kayd la wadaago, kadibna digniin isku mid ah ayay mid kastaa ka kicinayaan. Kadib waxay soo rartaa nuqul saddexaad oo cusub si uu u matalo "kadib deploy", oo mar kale digniin ayay kicinayaan. Mid keliya ayaa la diraa. Tijaabooyin kale waxay hubiyaan in digniinta builder kale ay weli baxayso, in P0 la diro labada replicas, iyo in digniinta weli la diro markii kaydka uu hoos u dhaco ama uu daahaaya ka dib 1.5 ilbiriqsi. Hagaajinta nadiifinta ayaa tijaabo u gaar ah: furaha 24 saac ah wuu sii joogaa markii 600 digniin kale ay yimaadaan 20 daqiiqo ka dib.
Shaqada ku-xidhan ee reconciliation-ka, labo replicas oo tikitaan isku mar, iyo tikitaan saddexaad oo isla daaqaddaas dhex jira, waxay soo saaraan hal liis oo keliya.
Waxa aan ka barannay
- Xaaladda xusuusta ee habka kastaa waa mid gooni ah. Wax kasta oo loo baahan yahay inuu run noqdo dhamaan server-yada — "la diray mar keliya", "la socodsiiyay mar keliya" — waa inuu ku nool yahay meel ay wadaagaan.
- Deploys waa dib-u-bilowga. Xaaladda oo keliya kaa badbaadda ilaa dib-u-bilowga xiga kama badbaadin maalin shaqo oo caadi ah.
- Go'aan ka qaado sida loo fashilmo. Digniinaha, kaydka oo hoos u dhacaya waa inuu ka dhigaa digniin badan, ma aha mid yar.
- Raadi nooca, ma aha oo kaliya kiiska. Digniinta waxay ahayd kiiska dhawaaqa badan; shaqada reconciliation-ka oo laba jeer lagu sameeyay waxay ahayd isla cilladii, oo si aamusnaan ah u qarinaysay shaqo.
Waxba ka mid ah tan kama muuqdo gudaha Mythex. Si aad u wanaajiso dhinaca ilaalinta platform-ka, eeg sida aynu u yareynay deploys ilaa 502 errors aan lahayn iyo faylka swap-ka ee maqnaa. Haddii aad cusub tahay fikradda ah in server-yo badan oo isla adeeg ah la socodsiiyo, hagahayaga server waa maxay wuxuu daboolayaa aasaaska.