Rubutu a yankuna da yawa: a ina aka tabbatar da canjin da gaske?
Tushewar hanya tana kai buƙata zuwa yanki; iyakar ma'amala ce kawai ke maida rubutu atomic. Faɗi invariant, zaɓi mai shi, sannan tsara sake gwadawa a kewaye da shi.
Sabar uwar gida biyu a yankuna biyu, abokin ciniki ɗaya yana rubutu ta VPN, da tambaya da babu wanda ya rubuta: wace sashe ce ke yanke shawarar cewa rubutun ya faru? Tushewar hanya tana kai buƙatar zuwa tsari. Iyakar ma'amala ce ke yanke lokacin da canjin ya zama dawwama kuma a bayyane. Ayyuka ne daban-daban da tsarin daban-daban suke yi, kuma rata tsakaninsu ita ce inda yawancin kurakuran rubutu a yankuna da yawa suke rayuwa.
Fara daga ka'idar kasuwanci, ba daga taswira ba
Fara da jumla game da ka'idar kasuwanci maimakon game da yanayin ƙasa: waɗanne karatu da rubutu ne dole su yi nasara tare, kuma waɗanne canje-canje na lokaci ɗaya ne dole su kasance ba zai yiwu ba yayin da suke yin haka. Ga ajiyar kaya hakan na nufin cewa duba kayan da ajiyar ko duka biyu suna aiki ko babu ɗaya, kuma babu wani oda na biyu da zai iya cinye wannan raka'a a tsakani.
| Requirement | What satisfies it | What does not |
|---|---|---|
| All-or-nothing application | A transaction inside one owning system | A VPN path between regions |
| No double spend | Isolation strong enough to exclude the conflict | Atomicity alone |
| Survive a region loss | Replication the database itself documents | Two independent databases behind one client |
Wannan layin tsakiya shine abin da ƙungiyoyi suke tsallakewa. Atomicity ba tare da isasshen keɓewa ba yana barin ma'amaloli biyu kowannensu ya tabbata daidai kuma duk da haka su haifar da yanayin da kasuwancin ke ɗauka ba zai yiwu ba, kuma babu adadin dabarar sake gwadawa da zai gyara hakan daga baya.
Iyaka ɗaya mai iko ta fi sabar yanki biyu
Sabar aikace-aikacen yanki na iya zama inda suke, muddin sun miƙa aikin ga sabis da ke yin shi cikin iyakar ma'amala guda ɗaya da ake goyan bayanta. Matsayin aikace-aikacen ya zama mai tura niyya; matsayin bayanai ne ya mallaki gaskiya.
Riƙe wannan iyaka gajere kuma kusa da bayanan da ta taɓa. Ma'amalar da ake buɗewa yayin da mutum ke amsa tambaya, ko yayin da kira ke ƙetare yankuna biyu, tana kashe lokacinta wajen riƙe makullai da ƙara yiwuwar wani abu ya ƙare a bayanta. Wannan gazawar tana kama da matsalar bayanai kuma a gaskiya matsalar ƙira ce da ta sa irin wannan riga. Mayar da shawarar zuwa matsayin bayanai yawanci yana kawar da ita gaba ɗaya.
BEGIN;
UPDATE inventory SET reserved = reserved + 1
WHERE sku = 'A-100' AND available >= 1;
INSERT INTO reservation (sku, order_id) VALUES ('A-100', 'ord-9f');
COMMIT;
Karanta wannan zanen a matsayin iyaka, ba shawara ta aiki ba. Maganar ita ce duba da saka suna raba tabbaci ɗaya, don haka oda na lokaci ɗaya ko yana ganin an cinye kayan ko kuma baya ganinsa kwata-kwata.
Abin da bayanan da aka kwafa ke bayarwa da abin da ba su bayarwa
Bayanan da aka kwafa na iya bayar da faffadan iyaka lokacin da tsarin ma'amalarsu ke goyan bayan hakan. Spanner yana rubuta ma'amalolin karatu da rubutu na atomic a cikin bayanai guda ɗaya a kan tebura, tare da keɓewa da halayen sake gwadawa da aka ayyana. Wannan alkawari ne da kuke karantawa, gwadawa kuma dogaro da shi da gangan.
Hakan kuma alkawari ne da ya fito daga samfurin, ba daga hanyar ba. VPN tsakanin yankuna yana canza yadda fakiti ke tafiya da yadda gazawa ke bayyana. Baya faɗaɗa iyakar ma'amala ko da layi ɗaya, komai lafiyar ramin. Haɗa su biyun yana haifar da gine-ginen da kowane sashe ke cin jarabawar sa kuma bayanan har yanzu ba su daidaita.
Bayanan bayanai biyu ba sa zama tsari ɗaya
Bayanan bayanai biyu da ake sarrafawa daban ba sa samun mai kula da ma'amala na gama gari saboda abokan ciniki na iya isa duka biyun. Idan kasuwancin yana buƙatar da gaske alkawari na atomic a kan ma'auratan, dole ne a zaɓi kuma a tantance tsarin daidaitawa, mahalarta da tsarin dawo da su maimakon ɗauka.
Yi tunani kan lokacin da wani mahalaci ko hanyar sadarwa ya ɓace bayan an shirya aikin. Tabbataccen rarraba na iya barin yanayi mai shakka wanda ke buƙatar tsarin dawo da shawarar mutum, kuma baya zuwa da alkawarin cewa kowane yanki zai kasance ana iya rubutu a kowane rarrabuwa.
Idan a maimakon haka an yarda da daidaitawa mara lokaci ɗaya, faɗi hakan a fili kuma rubuta matakan kasuwanci na tsakiya tare da ka'idojin sulhu. Sarkar matakai da aka tabbatar a gida tare da diyya ingantaccen ƙira ne; kawai ba ma'amala ɗaya ta atomic ba ce da wani suna.
Tsara sake gwadawa kafin rashin aiki na farko
Abokin ciniki na iya rasa amsa bayan an tabbatar da aikin, don haka mai kira ba zai iya ɗaukar ƙarewar lokaci a matsayin gazawa ba. Kiyaye asalin buƙata mai dorewa kuma yi amfani da sakamakon sabis ko hanyar idempotency kafin sake gwada wani canji, in ba haka ba sake gwadawar ya zama rubutu na biyu.
Kiran ma'amala na atomatik na iya aiki fiye da sau ɗaya bayan sokewar da za a iya sake gwadawa, wanda ke mai da su mummunan gida ga tasirin waje da ba za a iya juyawa ba. Riƙe waɗannan a wajen kiran, sai dai idan aikin ya ayyana bayyanannen ka'idar aminci gare su. Irin wannan taka tsantsan ya shafi duk abin da ke kashe kuɗi ko aika saƙo. Caji sau biyu tattaunawa ce mai wahala fiye da layin log sau biyu.
Karɓa ya kamata ya sake kunna yanayi huɗu: abokan ciniki biyu suna fafatawa kan layi ɗaya, sokewar da sabis ɗin ya ce za a iya sake gwadawa, tabbacin da amsarsa ba ta taɓa zuwa, da asarar yanki ko hanyar da ke tsakaninsu. Rubuta sakamakon kasuwancin da aka tabbatar da yanayin da ba a warware ba kusa da ƙirar tushe, don kada wani ya rikita hanyar sadarwa da sashen da ke bayar da alkawarin.