Çok Bölgeli Kurulum — Bir Bölge Kararınca Banka Çalışmaya Devam Eder mi?
Önce şunu oku: Replikasyon ve Okuma Replikaları — Yazdım Ama Göremiyorum
30 saniyede özet
Tek bölge kararınca bütün müşteriler bekler. Bekleyen kopya devralır ama gecikmeli kopyada son yazmalar kaybolur. İki bölge de her hesaba yazarsa para iki kez çekilebilir; her hesaba bir ev bölgesi vermek bunu önler.
Bir bankanın tek şubesi var; elektrik kesilince banka kapanıyor. İkinci bir şube açılıyor, ama defteri birkaç dakika geç kopyalıyor. İki şube de aynı hesaptan ödeme yapmaya başlarsa, aynı para iki kez çıkabilir.
-
Bayt: Bütün sistemimiz İstanbul bölgesinde. Bugün o bölge karardı; kimse havale yapamadı.
-
Sen: Frankfurt'a bekleyen bir kopya kurduk. Devraldı! Ama son üç havale kayıp.
-
Bayt: Peki iki bölge de yazı kabul etseydi? Bir müşteri iki telefondan aynı anda çekim yaptı; ikisi de geçti!
-
Bayt: Her hesabın tek bir ev bölgesi olsun; o hesaba yalnızca orada yazılsın.
Tek sepet, bekleyen kopya
Uygulama tek bir bölgedeyse, o bölge kararınca bütün müşteriler bekler. Hiçbir veri kaybolmayabilir, ama hizmet durur.
aktif-pasifBir bölgenin çalıştığı, diğerinin veriyi kopyalayıp beklediği kurulum. Ana bölge kararınca bekleyen bölge devralır.Sözlükte gör → kurulumda ikinci bir bölge veriyi kopyalayıp bekler. Kopyalama gecikmeliyse, ana bölge karardığında son yazmalar henüz karşı tarafa ulaşmamış olabilir; bu replication lagBir replikanın primary'deki değişiklikleri ne kadar geriden uyguladığı. Bu süre boyunca replikadan yapılan okumalar eski veriyi gösterir.Sözlükte gör → devirde kayıp olarak geri döner.
Kafam karıştı, daha basit anlat
Tek bölge: hepsi durur. Bekleyen kopya: devralır, ama son yazmaları kaybedebilir.
Uygulamanın yalnızca bir bölgede çalışmasının riski nedir?
Aktif-pasif kurulumda kopyalama gecikmeliyse devirde ne olur?
Her yerden yazmak
İki bölge de her hesaba yazı kabul ediyor. Bir müşterinin iki telefonu aynı anda, biri İstanbul'a biri Frankfurt'a, 1000 TL'lik çekim gönderiyor; hesapta 1000 TL var. Ne olur? Cevabı göster
İkisi de kabul edilir ve 2000 TL çekilir. Her bölge kendi kopyasında 1000 TL görür; öbür bölgedeki çekimi henüz bilmez. Kesinti olmadı, ama aynı para iki kez çıktı.
Adım adım oku
- Tek şube: elektrik gitti, banka kapandı.
- Geç kopyalayan şube: son kayıtlar eksik.
- İki şube aynı hesaptan öderse: iki kez.
- Her hesabın tek bir ev şubesi olsun.
aktif-aktifBirden çok bölgenin aynı anda istek ve yazma kabul ettiği kurulum. Aynı kayda iki yerden yazılırsa çakışma olur.Sözlükte gör → kurulumda iki bölge de istek ve yazma kabul eder; bölge kararsa bile kesinti olmaz. Ama aynı kayda iki yerden yazılırsa çakışma çıkar.
Para gibi veriler için güvenli yol, her hesaba bir ev bölgesi vermektir. Hesaba yalnızca orada yazılır; çift çekim tasarım gereği olamaz. Bedeli, kararan bölgenin müşterilerinin o bölge dönene ya da sahiplik devredilene kadar beklemesidir.
Kafam karıştı, daha basit anlat
Her yerden yazmak çakışma getirir. Her hesabın tek bir sahip bölgesi olsun.
İki bölge de aynı hesaba yazı kabul ediyor. Aynı anda iki çekim gelirse ne olabilir?
'Ev bölgesi' yaklaşımı nedir?
Kendin gör
İstanbul bölgesi karardı
Tohum 520533Şu an ne oldu?
Tek bölge (yalnızca İstanbul)
Bir bölge kararınca ne olacağına bakıyoruz.
Görevler0/3
Bölge kararınca kimse havale yapamasınaçık
İpucu
Tek bölge.
Aynı para iki kez çekilsinaçık
İpucu
İki bölge de her yazmayı kabul etsin.
Ne kayıp ne çift çekim olsun, ve bir kısım müşteri çalışmaya devam etsinaçık
İpucu
Ev bölgesi.
Olay günlüğü (0)
Henüz olay yok. Oynat veya adımla.
- Varsayılanla oynat. Tek bölge: İstanbul kararınca kimse havale yapamadı.
- “Aktif-pasif” seç. Frankfurt devraldı; kopyalanmamış üç havale kayboldu.
- “Aktif-aktif” seç. Kesinti yok; ama aynı çekim iki bölgede de kabul edildi.
- “Ev bölgesi” seç. Frankfurt hesapları çalıştı, İstanbul hesapları bekledi; hiçbir şey kaybolmadı ya da çakışmadı.
Ev bölgesi yaklaşımında İstanbul kararırsa İstanbul hesaplarına ne olur?
Çok bölgeli kurulumun maliyeti nedir?
Tuzaklar
Devri hiç denememek. Bekleyen bölgenin gerçekten devralabildiğini bilmenin tek yolu, düzenli olarak devir yapıp ölçmektir.
Kayıpsızlığı bedava sanmak. Devirde hiç yazma kaybolmasın istiyorsan kopyalama senkron olmalı: her yazma iki bölgede de kaydedilmeden onaylanmaz. Bunun bedeli, her yazmanın bölgeler arası gecikme kadar yavaşlamasıdır.
Her veriyi aynı kurala bağlamak. Para için tek sahip gerekir; ama beğeni sayısı gibi birleştirilebilir veriler aktif-aktif yazılabilir. Veriye göre seç.
Kafam karıştı, daha basit anlat
Devri dene, kayıpsızlığın bedelini bil, kuralı veriye göre seç.
Aktif-pasif kurulumda kayıpsız devir isteniyorsa ne gerekir?
Derinleş · Mobil bankacılık: her hesabın bir ev bölgesi 3 dosya · ~53 satır · ilk okumada atlayabilirsin
Kendini sına
Tek bölgeli bir uygulama, bölge kararınca çalışmaya devam eder.
Aktif-pasif kurulum nedir?
Aklında kalacak üç şey
- 1 Tek bölge basittir; o bölge kararınca bütün hizmet durur.
- 2 Aktif-pasif kurulumda gecikmeli kopya, devirde ana bölgenin son yazmalarını kaybettirebilir.
- 3 İki bölge aynı hesaba yazarsa çakışma olur. Her hesabın tek bir ev bölgesi olması, çift çekimi tasarımla önler; bedeli kısmi kesintidir.