{"id":1941,"date":"2025-11-16T21:07:20","date_gmt":"2025-11-16T18:07:20","guid":{"rendered":"https:\/\/www.dchost.com\/blog\/cok-bolgeli-mimariler-nasil-kurulur-dns-geo%e2%80%91routing-ve-veritabani-replikasyonu-ile-korkusuz-felaket-dayanikliligi\/"},"modified":"2025-11-16T21:07:20","modified_gmt":"2025-11-16T18:07:20","slug":"cok-bolgeli-mimariler-nasil-kurulur-dns-geo%e2%80%91routing-ve-veritabani-replikasyonu-ile-korkusuz-felaket-dayanikliligi","status":"publish","type":"post","link":"https:\/\/www.dchost.com\/blog\/cok-bolgeli-mimariler-nasil-kurulur-dns-geo%e2%80%91routing-ve-veritabani-replikasyonu-ile-korkusuz-felaket-dayanikliligi\/","title":{"rendered":"\u00c7ok B\u00f6lgeli Mimariler Nas\u0131l Kurulur? DNS Geo\u2011Routing ve Veritaban\u0131 Replikasyonu ile Korkusuz Felaket Dayan\u0131kl\u0131l\u0131\u011f\u0131"},"content":{"rendered":"<div class=\"dchost-blog-content-wrapper\"><div id=\"toc_container\" class=\"toc_transparent no_bullets\"><p class=\"toc_title\">\u0130&ccedil;indekiler<\/p><ul class=\"toc_list\"><li><a href=\"#Kucuk_Bir_Kesinti_Buyuk_Bir_Uyanis_Neden_Cok_Bolgeli\"><span class=\"toc_number toc_depth_1\">1<\/span> K\u00fc\u00e7\u00fck Bir Kesinti, B\u00fcy\u00fck Bir Uyan\u0131\u015f: Neden \u00c7ok B\u00f6lgeli?<\/a><\/li><li><a href=\"#DNS_GeoRouting_Nasil_Isler_Trafigin_Kibar_Yolculugu\"><span class=\"toc_number toc_depth_1\">2<\/span> DNS Geo\u2011Routing Nas\u0131l \u0130\u015fler? Trafi\u011fin Kibar Yolculu\u011fu<\/a><ul><li><a href=\"#En_Yakina_En_Saglam_Olanina\"><span class=\"toc_number toc_depth_2\">2.1<\/span> En Yak\u0131na, En Sa\u011flam Olan\u0131na<\/a><\/li><li><a href=\"#Saglik_Kontrolu_ve_Yapiskanlik\"><span class=\"toc_number toc_depth_2\">2.2<\/span> Sa\u011fl\u0131k Kontrol\u00fc ve Yap\u0131\u015fkanl\u0131k<\/a><\/li><\/ul><\/li><li><a href=\"#Veritabani_Replikasyonu_Gercegin_Agirligi\"><span class=\"toc_number toc_depth_1\">3<\/span> Veritaban\u0131 Replikasyonu: Ger\u00e7e\u011fin A\u011f\u0131rl\u0131\u011f\u0131<\/a><ul><li><a href=\"#Yazi_Nerede_Okuma_Nerede\"><span class=\"toc_number toc_depth_2\">3.1<\/span> Yaz\u0131 Nerede, Okuma Nerede?<\/a><\/li><li><a href=\"#Gecikme_Cakisma_ve_Gercekler\"><span class=\"toc_number toc_depth_2\">3.2<\/span> Gecikme, \u00c7ak\u0131\u015fma ve Ger\u00e7ekler<\/a><\/li><\/ul><\/li><li><a href=\"#Tutarlilik_Oturumlar_ve_Durum_Ince_Ayar\"><span class=\"toc_number toc_depth_1\">4<\/span> Tutarl\u0131l\u0131k, Oturumlar ve Durum: \u0130nce Ayar<\/a><ul><li><a href=\"#Stateless_Olmanin_Inceligi\"><span class=\"toc_number toc_depth_2\">4.1<\/span> Stateless Olman\u0131n \u0130nceli\u011fi<\/a><\/li><li><a href=\"#Cache_Tutarlilik_ve_Kucuk_Tuzaklar\"><span class=\"toc_number toc_depth_2\">4.2<\/span> Cache, Tutarl\u0131l\u0131k ve K\u00fc\u00e7\u00fck Tuzaklar<\/a><\/li><\/ul><\/li><li><a href=\"#Felaket_Akisi_Failover_Geri_Donus_ve_Zamani_Yumusatma\"><span class=\"toc_number toc_depth_1\">5<\/span> Felaket Ak\u0131\u015f\u0131: Failover, Geri D\u00f6n\u00fc\u015f ve Zaman\u0131 Yumu\u015fatma<\/a><ul><li><a href=\"#Planli_Kayip_Plansiz_Panikten_Iyidir\"><span class=\"toc_number toc_depth_2\">5.1<\/span> Planl\u0131 Kay\u0131p, Plans\u0131z Panikten \u0130yidir<\/a><\/li><li><a href=\"#Runbook_ve_Oyun_Gunu\"><span class=\"toc_number toc_depth_2\">5.2<\/span> Runbook ve Oyun G\u00fcn\u00fc<\/a><\/li><\/ul><\/li><li><a href=\"#Maliyet_Karmasiklik_ve_Ekip_Rutinleri_Dengeyi_Bulmak\"><span class=\"toc_number toc_depth_1\">6<\/span> Maliyet, Karma\u015f\u0131kl\u0131k ve Ekip Rutinleri: Dengeyi Bulmak<\/a><ul><li><a href=\"#Her_Seyi_Istemek_Baska_Dogru_Seyi_Kurmak_Baska\"><span class=\"toc_number toc_depth_2\">6.1<\/span> Her \u015eeyi \u0130stemek Ba\u015fka, Do\u011fru \u015eeyi Kurmak Ba\u015fka<\/a><\/li><\/ul><\/li><li><a href=\"#Kapanis_Yarin_Sakin_Gecsin_Diye_Bugun_Hazirlik\"><span class=\"toc_number toc_depth_1\">7<\/span> Kapan\u0131\u015f: Yar\u0131n Sakin Ge\u00e7sin Diye Bug\u00fcn Haz\u0131rl\u0131k<\/a><\/li><\/ul><\/div>\n<h2 id=\"section-1\"><span id=\"Kucuk_Bir_Kesinti_Buyuk_Bir_Uyanis_Neden_Cok_Bolgeli\">K\u00fc\u00e7\u00fck Bir Kesinti, B\u00fcy\u00fck Bir Uyan\u0131\u015f: Neden \u00c7ok B\u00f6lgeli?<\/span><\/h2>\n<p>Bir ak\u015fam ofiste \u0131\u015f\u0131klar hafif s\u00f6n\u00fck, monit\u00f6rdeki grafikleri izliyorum. Trafik haritas\u0131 sanki bir kalp ritmi gibi, d\u00fczenli ama aniden bir k\u0131p\u0131rt\u0131. K\u00fcresel trafi\u011fimizin belli bir dilimi bir anda yava\u015flad\u0131. Ne internet \u00e7\u00f6kt\u00fc ne de sunucular gitti; sadece belirli bir b\u00f6lgede beklenmedik bir gecikme, kullan\u0131c\u0131lar\u0131n o i\u00e7 \u00e7eki\u015fleriyle hissedilen bir rahats\u0131zl\u0131k. \u0130\u015fte o an, akl\u0131mdan \u015fu ge\u00e7ti: \u201cBug\u00fcn ufak bir aksama, yar\u0131n b\u00fcy\u00fck bir kesintinin i\u015fareti olabilir.\u201d<\/p>\n<p>Hi\u00e7 ba\u015f\u0131n\u0131za geldi mi? Her \u015fey yolundayken bir anda bir b\u00f6lge, tek bir ba\u011flant\u0131 noktas\u0131 veya tek bir <strong>zay\u0131f halka<\/strong> t\u00fcm deneyimi g\u00f6lgeleyiverir. \u0130\u015fte bu y\u00fczden <strong>\u00e7ok b\u00f6lgeli mimari<\/strong> asl\u0131nda bir l\u00fcks de\u011fil; bir ak\u015fam\u00fcst\u00fc kahvesini rahat i\u00e7ebilmenin yolu. Bu yaz\u0131da, DNS <strong>geo\u2011routing<\/strong> ile istekleri en yak\u0131n ve sa\u011fl\u0131kl\u0131 b\u00f6lgeye nas\u0131l y\u00f6nlendirebilece\u011finizi, veritaban\u0131 <strong>replikasyonu<\/strong> ile veriyi nas\u0131l g\u00fcvenle \u00e7o\u011faltabilece\u011finizi ve felaket an\u0131nda pani\u011fe kap\u0131lmadan nas\u0131l aya\u011fa kalkabilece\u011finizi, kendi deneyimlerimden ve saha pratiklerinden yola \u00e7\u0131karak payla\u015faca\u011f\u0131m.<\/p>\n<p>\u00d6nce resmi birlikte \u00e7izece\u011fiz: Kullan\u0131c\u0131 iste\u011fi nereden gelir, nas\u0131l do\u011fru yere d\u00fc\u015fer, veritaban\u0131 hangi b\u00f6lgede yaz\u0131l\u0131r, di\u011fer b\u00f6lgeler nas\u0131l e\u015flik eder? Sonra, o kritik soruya varaca\u011f\u0131z: \u201cBir b\u00f6lge gidince veri kayb\u0131 ya\u015famadan, kullan\u0131c\u0131y\u0131 \u00fczmeden ve ekip uykusunu ka\u00e7\u0131rmadan nas\u0131l devam ederiz?\u201d Yava\u015f yava\u015f, ama sa\u011flam ad\u0131mlarla.<\/p>\n<h2 id=\"section-2\"><span id=\"DNS_GeoRouting_Nasil_Isler_Trafigin_Kibar_Yolculugu\">DNS Geo\u2011Routing Nas\u0131l \u0130\u015fler? Trafi\u011fin Kibar Yolculu\u011fu<\/span><\/h2>\n<h3><span id=\"En_Yakina_En_Saglam_Olanina\">En Yak\u0131na, En Sa\u011flam Olan\u0131na<\/span><\/h3>\n<p>Bir kullan\u0131c\u0131 taray\u0131c\u0131ya adresinizi yazd\u0131\u011f\u0131nda, asl\u0131nda k\u00fc\u00e7\u00fck bir yolculuk ba\u015flar. DNS \u00e7\u00f6z\u00fcmlenir, isimler IP\u2019lere d\u00f6n\u00fc\u015f\u00fcr ve trafik en k\u0131sa, en sa\u011fl\u0131kl\u0131 yoldan hedefe varmak ister. <strong>Geo\u2011routing<\/strong> i\u015fte bu anda devreye girer: Kullan\u0131c\u0131n\u0131n konumuna g\u00f6re en yak\u0131n veri merkezine y\u00f6nlendirme yapar, ya da \u00f6l\u00e7\u00fclen gecikmeye g\u00f6re en h\u0131zl\u0131 b\u00f6lgeyi se\u00e7er. Baz\u0131 sa\u011flay\u0131c\u0131lar buna gecikme odakl\u0131 der, baz\u0131lar\u0131 b\u00f6lge bazl\u0131; ama ama\u00e7 hep ayn\u0131d\u0131r: <strong>yak\u0131nl\u0131k<\/strong> ve <strong>sa\u011flaml\u0131k<\/strong>.<\/p>\n<p>Bunu pratikte ayarlarken birka\u00e7 p\u00fcf noktas\u0131 var. \u0130lki, <strong>TTL<\/strong> s\u00fcresi. \u00c7ok k\u0131sa tutars\u0131n\u0131z, de\u011fi\u015fiklikler h\u0131zl\u0131 yay\u0131l\u0131r; ama \u00e7\u00f6z\u00fcmleme trafi\u011fi artar ve bazen istemci \u00f6nbellekleri sizi dinlemez. \u00c7ok uzun tutars\u0131n\u0131z, kesintide y\u00f6n de\u011fi\u015fimi gecikir. \u0130kincisi, <strong>sa\u011fl\u0131k kontrolleri<\/strong>. DNS\u2019iniz bir b\u00f6lgenin \u201ciyi\u201d olup olmad\u0131\u011f\u0131n\u0131 anlayabilmeli. Basit bir HTTP kontrol\u00fc bile \u00e7o\u011fu zaman yeterli olur; ama i\u015f kritikse, birden \u00e7ok u\u00e7 noktay\u0131 ve farkl\u0131 protokolleri yoklamak i\u00e7 rahatlat\u0131r.<\/p>\n<p>Bu noktada \u201cNas\u0131l yap\u0131l\u0131yor?\u201d diye sorarsan\u0131z, pratikte se\u00e7enek \u00e7ok. \u00d6rne\u011fin <a href=\"https:\/\/developers.cloudflare.com\/load-balancing\/understand\/geo-steering\/\" rel=\"nofollow noopener\" target=\"_blank\">Cloudflare Load Balancer ile geo\u2011steering<\/a> kurarken, b\u00f6lgeleri mant\u0131ksal havuzlara ay\u0131r\u0131p sa\u011fl\u0131k kontrollerini \u00f6zelle\u015ftirmek ho\u015f bir esneklik sunuyor. Benzer \u015fekilde, AWS taraf\u0131nda <a href=\"https:\/\/docs.aws.amazon.com\/Route53\/latest\/DeveloperGuide\/dns-failover.html\" rel=\"nofollow noopener\" target=\"_blank\">Route 53 health check ve failover mant\u0131\u011f\u0131<\/a> ile, bozuk bir b\u00f6lgeyi otomatik d\u0131\u015far\u0131da b\u0131rakmak gayet nazik \u00e7al\u0131\u015f\u0131yor. \u00c7ok sa\u011flay\u0131c\u0131 kullanmay\u0131 d\u00fc\u015f\u00fcn\u00fcyorsan\u0131z, <a href=\"https:\/\/www.dchost.com\/blog\/coklu-saglayici-dns-nasil-kurulur-octodns-ile-zero%E2%80%91downtime-gecis-ve-dayaniklilik-rehberi\/\">\u00e7oklu sa\u011flay\u0131c\u0131 DNS ve octoDNS ile zero\u2011downtime ge\u00e7i\u015f<\/a> notlar\u0131m\u0131 b\u0131rakay\u0131m; kritik durumlarda iki ayr\u0131 DNS\u2019i koordine etmek bazen hayat kurtar\u0131yor.<\/p>\n<h3><span id=\"Saglik_Kontrolu_ve_Yapiskanlik\">Sa\u011fl\u0131k Kontrol\u00fc ve Yap\u0131\u015fkanl\u0131k<\/span><\/h3>\n<p>Bir kez daha alt\u0131n\u0131 \u00e7izeyim: Sa\u011fl\u0131k kontrol\u00fc sadece \u201cya\u015f\u0131yor mu?\u201d de\u011fildir; \u201ciyi mi?\u201d sorusuna da cevap arar. Uygulama 200 d\u00f6n\u00fcyor olabilir ama veritaban\u0131 ba\u011flant\u0131s\u0131 mutsuzsa, kullan\u0131c\u0131 deneyimi k\u0131r\u0131lacakt\u0131r. Bu y\u00fczden k\u00fc\u00e7\u00fck bir <strong>status endpoint<\/strong> d\u00fc\u015f\u00fcn\u00fcn; cache, veritaban\u0131 ve ba\u011f\u0131ml\u0131l\u0131klar\u0131 h\u0131zl\u0131ca tartan, basit ama d\u00fcr\u00fcst bir kontrol. Ayr\u0131ca oturum y\u00f6netimi yap\u0131yorsan\u0131z, <strong>yap\u0131\u015fkanl\u0131k<\/strong> konusunu da d\u00fc\u015f\u00fcnmek gerek. Bir kullan\u0131c\u0131 bir b\u00f6lgeye d\u00fc\u015f\u00fcp ba\u015fka b\u00f6lgede oturumunu bulamazsa, DNS ne kadar h\u0131zl\u0131 olursa olsun, deneyim da\u011f\u0131l\u0131r. Buna birazdan gelece\u011fiz.<\/p>\n<h2 id=\"section-3\"><span id=\"Veritabani_Replikasyonu_Gercegin_Agirligi\">Veritaban\u0131 Replikasyonu: Ger\u00e7e\u011fin A\u011f\u0131rl\u0131\u011f\u0131<\/span><\/h2>\n<h3><span id=\"Yazi_Nerede_Okuma_Nerede\">Yaz\u0131 Nerede, Okuma Nerede?<\/span><\/h3>\n<p>\u00c7ok b\u00f6lgeli mimaride as\u0131l meydan okuma veritaban\u0131ndad\u0131r. Uygulama katman\u0131n\u0131 kopyalars\u0131n\u0131z, dosyalar\u0131 \u00e7o\u011falt\u0131rs\u0131n\u0131z, DNS ile y\u00f6nlendirirsiniz; ama <strong>veri<\/strong> tektir ve k\u0131ymetlidir. Genellikle iki ana yakla\u015f\u0131m var: Yazma i\u00e7in tek bir b\u00f6lgeyi <strong>lider<\/strong> yap\u0131p di\u011fer b\u00f6lgeleri <strong>okuma<\/strong> kopyalar\u0131 olarak kullanmak; ya da birden \u00e7ok b\u00f6lgede yazmay\u0131 m\u00fcmk\u00fcn k\u0131lan <strong>\u00e7oklu lider<\/strong> stratejisi. \u0130lki daha basit, tutarl\u0131l\u0131\u011f\u0131 kolay; ikincisi \u00e7eviklik ve yak\u0131nl\u0131k sa\u011flar ama uyu\u015fmazl\u0131klar\u0131 \u00e7\u00f6zmek emek ister.<\/p>\n<p>Benim sahada en s\u0131k tercih etti\u011fim yol, yazmay\u0131 tek bir b\u00f6lgeye koyup, okuma a\u011f\u0131rl\u0131kl\u0131 ak\u0131\u015flar\u0131 di\u011fer b\u00f6lgelerde h\u0131zland\u0131rmak oldu. \u00d6zellikle i\u00e7erik a\u011f\u0131rl\u0131kl\u0131 uygulamalarda bu yakla\u015f\u0131m tatl\u0131 \u00e7al\u0131\u015f\u0131yor. Post\u2019lar\u0131n g\u00f6r\u00fcnt\u00fclenmesi, \u00fcr\u00fcn listesinin dola\u015f\u0131lmas\u0131 gibi ak\u0131\u015flar\u0131 yerel okuma kopyalar\u0131yla terbiye ediyor, sepet veya \u00f6deme gibi kritik yazmalar\u0131 lider b\u00f6lgeye emanet ediyorsunuz. PostgreSQL i\u00e7in <a href=\"https:\/\/www.postgresql.org\/docs\/current\/logical-replication.html\" rel=\"nofollow noopener\" target=\"_blank\">PostgreSQL logical replication<\/a> esnekli\u011fi g\u00fczel; tablolar baz\u0131nda se\u00e7ici \u00e7o\u011faltma, baz\u0131 i\u015f y\u00fcklerinde nefes ald\u0131r\u0131yor.<\/p>\n<h3><span id=\"Gecikme_Cakisma_ve_Gercekler\">Gecikme, \u00c7ak\u0131\u015fma ve Ger\u00e7ekler<\/span><\/h3>\n<p>\u00c7oklu liderde, iki b\u00f6lgede ayn\u0131 kayd\u0131n ayn\u0131 anda g\u00fcncellenmesi kadar insana \u201cPeki \u015fimdi ne yapaca\u011f\u0131z?\u201d dedirten az \u015fey vard\u0131r. \u00c7ak\u0131\u015fmay\u0131 \u00e7\u00f6zmek i\u00e7in zaman damgalar\u0131, versiyon numaralar\u0131 veya i\u015f kurallar\u0131n\u0131 kullan\u0131rs\u0131n\u0131z; ama as\u0131l mesele, buna ekip\u00e7e <strong>haz\u0131r<\/strong> olup olmad\u0131\u011f\u0131n\u0131zd\u0131r. Gecikme ka\u00e7\u0131n\u0131lmazsa, iki yazma aras\u0131nda minik de olsa bir <strong>eventual consistency<\/strong> pay\u0131 kal\u0131r. Zaman damgas\u0131 derken de basit bir duvar saati de\u011fil, arada kaymalar\u0131 tolere eden, idempotent i\u015flemlere dayanan bir tasar\u0131m d\u00fc\u015f\u00fcnmek gerekir.<\/p>\n<p>Bir not daha: Baz\u0131 ekipler, yazan servisi olay tabanl\u0131 hale getirip \u201c<strong>outbox<\/strong>\u201d deseniyle de\u011fi\u015fiklikleri s\u0131raya atmay\u0131 tercih ediyor. B\u00f6ylece veri \u00f6nce tek bir yerde sa\u011flamca yaz\u0131l\u0131yor, sonra olay olarak di\u011fer b\u00f6lgelere ta\u015f\u0131n\u0131yor. Bu da farkl\u0131 bir sadele\u015fme y\u00f6ntemi. Ne kadar basit kal\u0131rsan\u0131z o kadar iyidir; en ba\u015fta, ihtiya\u00e7 d\u0131\u015f\u0131 karma\u015f\u0131kl\u0131\u011f\u0131 eklememek b\u00fcy\u00fck kazan\u0131m.<\/p>\n<h2 id=\"section-4\"><span id=\"Tutarlilik_Oturumlar_ve_Durum_Ince_Ayar\">Tutarl\u0131l\u0131k, Oturumlar ve Durum: \u0130nce Ayar<\/span><\/h2>\n<h3><span id=\"Stateless_Olmanin_Inceligi\">Stateless Olman\u0131n \u0130nceli\u011fi<\/span><\/h3>\n<p>Uygulama sunucular\u0131n\u0131 <strong>stateless<\/strong> k\u0131lmak \u00e7ok b\u00f6lgeli mimarinin gizli kahraman\u0131. Oturumlar\u0131 yerel haf\u0131zada tutarsan\u0131z, DNS sizi farkl\u0131 bir b\u00f6lgeye g\u00f6nderdi\u011finde kullan\u0131c\u0131 kendini yabanc\u0131 bir yerde bulur. Oturumlar\u0131 payla\u015f\u0131ml\u0131 bir cihaza y\u0131\u011fmak da cazip g\u00f6r\u00fcn\u00fcr ama tek bir merkezi ba\u011f\u0131ml\u0131l\u0131k, yine zay\u0131f halka. Pratik \u00e7\u00f6z\u00fcm, oturumlar\u0131 <strong>token<\/strong> bazl\u0131 ta\u015f\u0131mak veya her b\u00f6lgede yeniden \u00fcretilebilir, k\u0131sa \u00f6m\u00fcrl\u00fc ve \u015fifreli bir yap\u0131 kullanmak. Kullan\u0131c\u0131 \u201cBen geldim\u201d dedi\u011finde, hangi b\u00f6lgede olursa olsun, bilet ge\u00e7erli olmal\u0131.<\/p>\n<p>Statik dosyalar ve medya i\u00e7in ise da\u011f\u0131t\u0131k bir <strong>CDN<\/strong> ile <strong>nesne depolama<\/strong> ikilisi ger\u00e7ekten omuzdan y\u00fck al\u0131yor. \u0130\u00e7erik kullan\u0131c\u0131ya yak\u0131n bir u\u00e7tan sunulunca, uygulama ve veritaban\u0131na d\u00fc\u015fen bask\u0131 azal\u0131yor. \u0130lla merkezde tutman\u0131z gerekmeyen her \u015feyi kenarlara itmek, felaket an\u0131nda da manevra alan\u0131 sa\u011fl\u0131yor.<\/p>\n<h3><span id=\"Cache_Tutarlilik_ve_Kucuk_Tuzaklar\">Cache, Tutarl\u0131l\u0131k ve K\u00fc\u00e7\u00fck Tuzaklar<\/span><\/h3>\n<p>Cache s\u00f6z konusu oldu\u011funda iki uca kap\u0131lmamak gerekiyor. Her \u015feyi \u00f6nbelle\u011fe almak kolayd\u0131r ama tutarl\u0131l\u0131\u011f\u0131 bozar; hi\u00e7bir \u015fey almamak ise sistemi gereksiz yorar. Arada bir yer var: S\u0131k okunan ama nadir de\u011fi\u015fen i\u00e7erikleri b\u00f6lgesel cache\u2019lerde tutmak, kritik de\u011fi\u015fikliklerde hedefli <strong>invalidation<\/strong> yapmak ve oturumla ba\u011flant\u0131l\u0131 veriyi cache\u2019e ba\u011f\u0131ml\u0131 k\u0131lmamak. Bu yakla\u015f\u0131m, DNS y\u00f6nlendirmesinin getirdi\u011fi k\u00fc\u00e7\u00fck oynamalar\u0131 kullan\u0131c\u0131ya hissettirmez.<\/p>\n<p>G\u00fcvenlik taraf\u0131nda ise bir c\u00fcmle: \u00c7ok b\u00f6lgeli demek, \u00e7ok kap\u0131 demek. Her kap\u0131n\u0131n kilidi sa\u011flam olmal\u0131. Arka u\u00e7lar\u0131n\u0131za do\u011frudan trafi\u011fi kapat\u0131p sadece g\u00fcvenilir bir \u00f6nden ge\u00e7i\u015fe izin vermek i\u00e7in <a href=\"https:\/\/www.dchost.com\/blog\/origini-korumak-cloudflare-authenticated-origin-pulls-ve-mtls-ile-gercek-kaynak-dogrulamasi\/\">Authenticated Origin Pulls ve mTLS ile orijini koruma<\/a> yaz\u0131s\u0131ndaki yakla\u015f\u0131m i\u015f g\u00f6r\u00fcr. Sertifika otomasyonunda, \u00e7ok b\u00f6lgeli ve \u00e7ok kirac\u0131l\u0131 d\u00fczenlerde <a href=\"https:\/\/www.dchost.com\/blog\/acme-challenge-turleri-derinlemesine-http%E2%80%9101-dns%E2%80%9101-ve-tls%E2%80%91alpn%E2%80%9101-ne-zaman-hangisi\/\">ACME challenge t\u00fcrlerini ve DNS\u201101&#8217;\u0131 derinlemesine anlatt\u0131\u011f\u0131m<\/a> notlar, wildcard veya b\u00f6lgesel sertifika y\u00f6netimini tatland\u0131rabilir.<\/p>\n<h2 id=\"section-5\"><span id=\"Felaket_Akisi_Failover_Geri_Donus_ve_Zamani_Yumusatma\">Felaket Ak\u0131\u015f\u0131: Failover, Geri D\u00f6n\u00fc\u015f ve Zaman\u0131 Yumu\u015fatma<\/span><\/h2>\n<h3><span id=\"Planli_Kayip_Plansiz_Panikten_Iyidir\">Planl\u0131 Kay\u0131p, Plans\u0131z Panikten \u0130yidir<\/span><\/h3>\n<p>Bir g\u00fcn bir b\u00f6lgenin aya\u011f\u0131 kayacak; mesele, sizin o anda ne kadar so\u011fukkanl\u0131 kalaca\u011f\u0131n\u0131z. DNS\u2019te sa\u011fl\u0131k kontrol\u00fc bozuldu mu, <strong>failover<\/strong> tetiklenir ve kullan\u0131c\u0131lar ba\u015fka bir b\u00f6lgeye akar. Bu ak\u0131\u015fta iki soru belirir: Oturumlar ne durumda, veri kayb\u0131 var m\u0131? E\u011fer yazmalar tek b\u00f6lgede toplan\u0131yorsa, failover an\u0131nda yazma y\u00fck\u00fcn\u00fc devralacak b\u00f6lgenin g\u00fcncel oldu\u011fundan emin olman\u0131z gerekir. Bu, senkron replikasyonla d\u00fc\u015f\u00fck gecikmede m\u00fcmk\u00fcn; ama b\u00f6lgeler aras\u0131 \u00e7o\u011fu senaryoda <strong>asenkron<\/strong> ilerlemek zorunda kal\u0131r\u0131z. O zaman da k\u00fc\u00e7\u00fck bir <strong>RPO<\/strong> penceresi kabul eder, kritik i\u015flemler i\u00e7in kuyruk veya onay ad\u0131m\u0131 ekleriz.<\/p>\n<p>Geri d\u00f6n\u00fc\u015f (failback) ise ayr\u0131 bir hik\u00e2ye. Eski lideri yeniden lider yapmak aceleye gelmez. \u00d6nce yeni liderden t\u00fcm de\u011fi\u015fiklikleri eksiksiz \u00e7ekti\u011finden emin olmal\u0131, sonra karar\u0131 trafik y\u0131\u011f\u0131lmadan ve kullan\u0131c\u0131 fark etmeden uygulamal\u0131s\u0131n\u0131z. Bu esnada <strong>TTL<\/strong> de\u011ferini ge\u00e7ici olarak k\u0131saltmak ve sa\u011fl\u0131k kontrollerini s\u0131kla\u015ft\u0131rmak, ge\u00e7i\u015fi yumu\u015fat\u0131r.<\/p>\n<h3><span id=\"Runbook_ve_Oyun_Gunu\">Runbook ve Oyun G\u00fcn\u00fc<\/span><\/h3>\n<p>Bir ekip, ancak pratik yapt\u0131\u011f\u0131 senaryoda h\u0131zl\u0131 olur. <strong>Runbook<\/strong> deriz ya; i\u015fte o sayfalar sadece wiki\u2019de durmas\u0131n. Bazen k\u00fc\u00e7\u00fck bir pazar ak\u015fam\u0131, ekip\u00e7e bulu\u015fup kontroll\u00fc bir \u201c<strong>oyun g\u00fcn\u00fc<\/strong>\u201d yap\u0131n. Bir b\u00f6lgeyi bilin\u00e7li devre d\u0131\u015f\u0131 b\u0131rak\u0131n, DNS\u2019in tepkisini izleyin, log\u2019lar\u0131 notlay\u0131n, kullan\u0131c\u0131 deneyimini g\u00f6zlemleyin. O g\u00fcnk\u00fc notlar, ger\u00e7ek felaket an\u0131nda en k\u0131ymetli pusulan\u0131z olur.<\/p>\n<p>Uygulama taraf\u0131nda, k\u00fcme d\u00fczenine ge\u00e7enler i\u00e7in k\u00fc\u00e7\u00fck bir parantez: B\u00f6lge baz\u0131nda cluster y\u00f6netimi yapacaksan\u0131z, <a href=\"https:\/\/www.dchost.com\/blog\/3-vps-ile-k3s-yuksek-erisilebilirlik-kumesi-traefik-cert%E2%80%91manager-ve-longhorn-ile-uretime-hazir-kurulum\/\">3 VPS ile K3s y\u00fcksek eri\u015filebilirlik k\u00fcmesi kurulum notlar\u0131m<\/a> bir perspektif verebilir. Elbette b\u00f6lge s\u0131n\u0131rlar\u0131 aras\u0131nda tek bir orkestrasyon katman\u0131 yerine, her b\u00f6lgede ba\u011f\u0131ms\u0131z ama ayn\u0131 tan\u0131ma sahip k\u00fcmeler kurmak \u00e7o\u011fu zaman daha sakin bir yol.<\/p>\n<h2 id=\"section-6\"><span id=\"Maliyet_Karmasiklik_ve_Ekip_Rutinleri_Dengeyi_Bulmak\">Maliyet, Karma\u015f\u0131kl\u0131k ve Ekip Rutinleri: Dengeyi Bulmak<\/span><\/h2>\n<h3><span id=\"Her_Seyi_Istemek_Baska_Dogru_Seyi_Kurmak_Baska\">Her \u015eeyi \u0130stemek Ba\u015fka, Do\u011fru \u015eeyi Kurmak Ba\u015fka<\/span><\/h3>\n<p>\u00c7ok b\u00f6lgeli mimari kula\u011fa hep ho\u015f gelir; ama her i\u015f y\u00fck\u00fc bu eme\u011fi hak etmez. Kullan\u0131c\u0131 taban\u0131n\u0131z tek bir k\u0131tadaysa, ilk yat\u0131r\u0131m\u0131n\u0131z\u0131 o b\u00f6lgede sa\u011flaml\u0131\u011fa yapmak daha iyi olabilir. Ama k\u00fcresel bir kullan\u0131c\u0131 taban\u0131nda, hatta sadece iki k\u0131y\u0131 aras\u0131nda bile, \u00e7ok b\u00f6lgeli d\u00fczen bir g\u00fcn mutlaka kar\u015f\u0131l\u0131\u011f\u0131n\u0131 verir. \u00d6nemli olan, <strong>kritik ak\u0131\u015flar\u0131<\/strong> tek tek i\u015faretlemek ve her biri i\u00e7in \u201cBunu neden \u00e7ok b\u00f6lgeli yap\u0131yoruz?\u201d sorusuna net bir cevap vermek.<\/p>\n<p>K\u00fc\u00e7\u00fck bir tavsiye: \u0130lk ad\u0131mda her \u015feyi \u00e7ok b\u00f6lgeli yapmak yerine, \u201cokuma a\u011f\u0131rl\u0131kl\u0131 i\u00e7erik\u201d, \u201cgiri\u015f ve oturum\u201d, \u201c\u00f6deme\u201d gibi ak\u0131\u015flar\u0131 ay\u0131r\u0131p s\u0131rayla ta\u015f\u0131mak stresi azalt\u0131r. B\u00f6ylelikle hem sistemi hem ekibin ritmini bo\u011fmazs\u0131n\u0131z. DNS taraf\u0131nda d\u00fczeni oturttuktan sonra, veritaban\u0131 replikasyonunu devreye almak; ard\u0131ndan oturum ve cache d\u00fczenini ta\u015f\u0131mak; en son da karma\u015f\u0131k yazma senaryolar\u0131na girmek, ekibi yormadan ilerletir.<\/p>\n<p>Bu yolculukta sertifika, DNS, ve kenar g\u00fcvenli\u011fi gibi yan konular g\u00f6r\u00fcnenden \u00e7ok daha \u00f6nemli. \u00c7oklu sa\u011flay\u0131c\u0131 kullan\u0131rken kay\u0131t y\u00f6netimi ve ge\u00e7i\u015fleri risksiz yapmak i\u00e7in <a href=\"https:\/\/www.dchost.com\/blog\/coklu-saglayici-dns-nasil-kurulur-octodns-ile-zero%E2%80%91downtime-gecis-ve-dayaniklilik-rehberi\/\">octoDNS ile zero\u2011downtime ge\u00e7i\u015f<\/a> rehberini tekrar anmak isterim. Sertifikay\u0131 otomatiklemek gerekiyorsa da, \u00e7ok b\u00f6lgede yetkilendirme s\u0131n\u0131rlar\u0131 ve TXT kay\u0131tlar\u0131n\u0131n yay\u0131l\u0131m\u0131n\u0131 hesaba katmak gerekir; bunun i\u00e7in <a href=\"https:\/\/www.dchost.com\/blog\/acme-challenge-turleri-derinlemesine-http%E2%80%9101-dns%E2%80%9101-ve-tls%E2%80%91alpn%E2%80%9101-ne-zaman-hangisi\/\">DNS\u201101\u2019\u0131n pratik yanlar\u0131n\u0131 \u00f6zetledi\u011fim yaz\u0131<\/a> yol g\u00f6sterir.<\/p>\n<h2 id=\"section-7\"><span id=\"Kapanis_Yarin_Sakin_Gecsin_Diye_Bugun_Hazirlik\">Kapan\u0131\u015f: Yar\u0131n Sakin Ge\u00e7sin Diye Bug\u00fcn Haz\u0131rl\u0131k<\/span><\/h2>\n<p>Toparlayal\u0131m. \u00c7ok b\u00f6lgeli mimarinin \u00f6z\u00fc, kullan\u0131c\u0131y\u0131 <strong>yak\u0131na<\/strong> ve <strong>sa\u011flama<\/strong> g\u00f6t\u00fcrmek. DNS geo\u2011routing ile kap\u0131y\u0131 do\u011fru b\u00f6lgeye a\u00e7\u0131yor, veritaban\u0131 replikasyonu ile i\u00e7eri giren veriyi g\u00fcvenle \u00e7o\u011falt\u0131yor, felaket an\u0131nda ise pani\u011fe kap\u0131lmadan trafi\u011fi ba\u015fka bir b\u00f6lgeye ak\u0131t\u0131yorsunuz. Bunu yaparken a\u015f\u0131r\u0131 teknik cambazl\u0131klara girmeden, k\u00fc\u00e7\u00fck ad\u0131mlarla, \u00f6l\u00e7erek ve g\u00f6zlemleyerek ilerlemek en sa\u011fl\u0131kl\u0131s\u0131. Sa\u011fl\u0131k kontrolleri a\u00e7\u0131k, TTL\u2019ler ak\u0131ll\u0131, oturumlar ta\u015f\u0131nabilir olduk\u00e7a, \u201cB\u00f6lge X gitti\u201d c\u00fcmlesi sizi irkiltmez.<\/p>\n<p>Uygulamay\u0131 stateless k\u0131lmak, cache stratejisini netle\u015ftirmek, yazma\u2011okuma ak\u0131\u015flar\u0131n\u0131 ay\u0131rmak ve replikasyon konusunu gereksiz karma\u015fadan ar\u0131nd\u0131rmak, g\u00fcnl\u00fck i\u015finizi de hafifletir. Bir de l\u00fctfen runbook\u2019unuzu g\u00fcncel tutun ve arada bir k\u00fc\u00e7\u00fck oyun g\u00fcnleri yap\u0131n. DNS ve g\u00fcvenlik s\u0131n\u0131rlar\u0131n\u0131za g\u00f6z\u00fc gibi bak\u0131n; burada ald\u0131\u011f\u0131 \u00f6nlemler, yar\u0131n yeti\u015fmenize bile gerek kalmadan i\u015fi \u00e7\u00f6zer. \u0130sterseniz kenar g\u00fcvenli\u011fine dair <a href=\"https:\/\/www.dchost.com\/blog\/origini-korumak-cloudflare-authenticated-origin-pulls-ve-mtls-ile-gercek-kaynak-dogrulamasi\/\">mTLS ve orijin do\u011frulamas\u0131<\/a> yaz\u0131s\u0131na g\u00f6z at\u0131p notlar\u0131n\u0131z\u0131 ekleyin; k\u00fc\u00e7\u00fck bir kontrol listesi bile b\u00fcy\u00fck fark eder.<\/p>\n<p>Umar\u0131m bu yaz\u0131, \u201c\u00c7ok b\u00f6lgeli mimari bize a\u011f\u0131r m\u0131 gelir?\u201d sorusuna daha net bakman\u0131za yard\u0131mc\u0131 olmu\u015ftur. K\u00fc\u00e7\u00fckten ba\u015flay\u0131n, ad\u0131m ad\u0131m \u00e7o\u011falt\u0131n, \u00f6l\u00e7erek ilerleyin. Bir dahaki yaz\u0131da g\u00f6r\u00fc\u015fmek \u00fczere; umar\u0131m o zamana kadar kesinti grafikleri sadece huzurlu dalgalar \u00e7izer.<\/p>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>\u0130&ccedil;indekiler1 K\u00fc\u00e7\u00fck Bir Kesinti, B\u00fcy\u00fck Bir Uyan\u0131\u015f: Neden \u00c7ok B\u00f6lgeli?2 DNS Geo\u2011Routing Nas\u0131l \u0130\u015fler? Trafi\u011fin Kibar Yolculu\u011fu2.1 En Yak\u0131na, En Sa\u011flam Olan\u0131na2.2 Sa\u011fl\u0131k Kontrol\u00fc ve Yap\u0131\u015fkanl\u0131k3 Veritaban\u0131 Replikasyonu: Ger\u00e7e\u011fin A\u011f\u0131rl\u0131\u011f\u01313.1 Yaz\u0131 Nerede, Okuma Nerede?3.2 Gecikme, \u00c7ak\u0131\u015fma ve Ger\u00e7ekler4 Tutarl\u0131l\u0131k, Oturumlar ve Durum: \u0130nce Ayar4.1 Stateless Olman\u0131n \u0130nceli\u011fi4.2 Cache, Tutarl\u0131l\u0131k ve K\u00fc\u00e7\u00fck Tuzaklar5 Felaket Ak\u0131\u015f\u0131: Failover, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1942,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[26],"tags":[],"class_list":["post-1941","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-teknoloji"],"_links":{"self":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/posts\/1941","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/comments?post=1941"}],"version-history":[{"count":0,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/posts\/1941\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/media\/1942"}],"wp:attachment":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/media?parent=1941"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/categories?post=1941"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/tags?post=1941"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}