Standart GSLB deseni şöyle görünür: bir endpoint izlenir, sağlıksız olduğunda DNS yanıtları yedeğe kayar, sağlıklı olduğunda geri kayar. Büyük GSLB satıcılarının uygulamaları her iki geçişi de aynı koşulun tersi olarak ele alır.
Üretim gerçekliği simetrik değildir. Bir yedeğe geçmek baskı altında uygulanan savunma hamlesidir; birincile dönmek güven altında uygulanan saldırı hamlesidir. Her yönde geçerli olan koşullar, bekleme pencereleri, operatör onayları ve ateşlenmesi gereken tetikler farklıdır.
Örnekler: hızlı giriş / yavaş çıkış — kullanıcıyı korumak için ilk algılanan hatada failover, ancak çalkalanmayı önlemek için dönmeden önce 15 dakika temiz sağlık iste. İhtiyatlı giriş / hızlı çıkış — failover başlatmadan önce üç ardışık başarısızlık iste, ancak RPO/RTO taahhütlerini karşılamak için birincil iyileştiğinde anında dön. Otomatik giriş / manuel çıkış — failover otomatiktir, ancak dönüş yolu runbook incelemesinden sonra SRE onayı gerektirir.
Bunların hiçbiri tek-yönlü bir senaryoda ifade edilemez. Operatör bir yönü seçer ve diğerinde yanlış politikayla yaşar veya GSLB'nin gerçek kaynağından sapan kırılgan özel scriptleri birbirine bağlar.
TR7 GTM çift yönlü senaryoları, aktivasyonun ve deaktivasyonun bağımsız koşullar, bağımsız kontrol kapıları ve bağımsız tetik aksiyonları taşımasına izin verir — olay müdahale runbook'unuzun zaten varsaydığı politika yapısı.
Bir senaryo, iki yönlü adlandırılmış ve yeniden kullanılabilir bir durum makinesidir. Her yön birleşik bir koşul ifadesi ve bir tetik seti ile tanımlanır; iki yön birbirinin tersi olmak zorunda değildir.
Birleşik bir koşul ifadesi temeldeki sağlık denetimlerini değerlendirir. True döndüğünde senaryo etkinleşir. İsteğe bağlı tetikler aksiyonları (HTTP/HTTPS webhook'ları, Oracle sorguları) ateşler ve isteğe bağlı bir kontrol kapısı tetikin ilerlemesini onaylar.
Ayrı bir birleşik koşul ifadesi ayrı bir sağlık denetimi setini değerlendirir. Deaktivasyon yolu aktivasyonun tersi olabilir veya ek kararlılık, ek probe'lar veya tamamen farklı tetikler gerektirebilir.
Koşullar tek boolean değildir — bir grup içinde AND ile, gruplar arasında OR ile birleştirilen sağlık denetim sonuçlarıdır; isteğe bağlı negasyonla. ADC üzerinde trafik kuralı mantığını yöneten aynı DSL burada senaryo değerlendirmesini de yönetir.
Bir senaryo bir kez tanımlanır ve DNS kayıtlarından, felaket kurtarma yapılandırmalarından ve DC'ler arası failover politikasından adıyla başvurulur. Operatörler aynı mantığı birden çok yerde yeniden yazmaz.
Çift yönlü senaryolar, TR7 GTM'nin failover ve kurtarma politikasının temelidir.
Aktivasyon koşulu, bir veya daha fazla sağlık denetim profili boyunca sağlık denetim sonuçlarından oluşturulur. Gruplar denetimleri AND ile birleştirir; birden fazla grup OR ile birleştirilir. Her bireysel denetim negatif yapılabilir. Operatörler "(API ayakta VE veritabanı ayakta) VEYA (failover yolu A ayakta VE failover yolu B ayakta)" gibi koşulları scripting olmadan ifade eder.
Deaktivasyon koşulu aktivasyondan bağımsızdır. Operatörler "birincil 15 dakika sağlıklı oldu VE gecikme eşiğin altında" gibi koşulları ifade eder; aktivasyon ise basitçe "birincil çöktü" olabilir.
Aktivasyon tetikleri ve deaktivasyon tetikleri ayrı seçilebilir setlerdir. Bir aktivasyon olayı nöbetçi SRE'ye bildirim gönderebilir; bir deaktivasyon olayı SRE'ye bildirimin yanı sıra sentetik bir işlem çalıştırabilir ve deployment sistemine webhook yayabilir.
Her yönün tetiklerinden önce isteğe bağlı bir kontrol koşulu çalışır. Kontrol kapısı false döndürürse durum geçişi yine de gerçekleşir ancak tetikler ateşlenmez. Kullanım durumu: durum geçişleri otomatik gerçekleşir, ancak harici bildirimler yalnızca iş saatlerinde ateşlenir.
Her yön üç operatör seçilebilir mod destekler. Auto koşul ifadesini izler. On koşullardan bağımsız olarak yönü etkinleştirmeye zorlar (manuel geçersiz kılma). Off yönü tamamen devre dışı bırakır (örn. bakım penceresi sırasında geri-dönüşü devre dışı bırak).
İki veri merkezi tanımlandığında TR7 GTM çift başına dört senaryo otomatik üretir: aktiften, aktife, yedekten, yedeğe — her biri WAN erişimi, LAN erişimi ve internet erişilebilirlik denetimlerine dayalı uygun koşul mantığıyla. Operatörler otomatik üretilen senaryoları olduğu gibi kullanabilir, özelleştirebilir veya sıfırdan kendi senaryolarını oluşturabilir.
DNS kayıtları sağlıklı/sağlıksız durumlarını statik boolean veya tek sağlık denetimi yerine bir senaryo ile yönlendirebilir. Kayıt başına `cond` alanı bir senaryo referansı kabul eder: senaryo etkinleştiğinde kayıt yanıtlardan çıkarılır; deaktive olduğunda kayıt geri döner.
Felaket kurtarma kayıtları `drCond` belirtebilir — DR kayıt setinin yanıtlarda birincil kayıt setinin yerini ne zaman alacağını belirleyen bir senaryo. DR senaryo değerlendirmesi çift yönlüdür; kontrollü failover ve kontrollü geri-dönüşü destekler.
Tetikler HTTP/HTTPS çağrıları olarak (özel URI, metod, header'lar, gövde, beklenen durum kodları, içerik-eşleme sorgusu) veya Oracle veritabanı çağrıları olarak (yapılandırılmış SQL) ateşlenir. Operatörler senaryo aktivasyonlarını mevcut olay yönetimi, deployment veya denetim boru hatlarına bağlar.
Her senaryo durum değişikliği kaydedilir: hangi yön ateşlendi, hangi koşullar true/false değerlendirildi, hangi tetikler çalıştı, hangi kontrol kapısı geçti. Olay sonrası inceleme, manuel log arkeolojisi olmadan otomatik kararların tam sırasını yeniden oluşturur.
Senaryolar sağlık denetim tanımları, tetik yapılandırmaları, DNS kayıt bağlamaları ve felaket kurtarma yapılandırmaları ile birlikte işletilir.
Bir koşul grubu içinde tüm listelenen denetimler true değerlendirilmelidir (AND). Gruplar arasında, herhangi bir grubun true değerlendirilmesi yeterlidir (OR). Denetim ID'sindeki `!` son eki onu negatif yapar. Gruplama yapısı aktivasyon ve deaktivasyon için simetriktir; her yön kendi grup setine sahiptir.
Koşullar sağlık denetimlerine ID ile başvurur. Kullanıcı tanımlı sağlık denetim profilleri ve otomatik üretilen DC-çifti denetimleri aynı ID alanını paylaşır. Operatörler manuel ve otomatik denetimleri aynı koşul grubunda karıştırır.
Aktivasyon on'a zorlandığında (manuel geçersiz kılma), deaktivasyon değerlendirmesi tipik olarak devam eder — operatörler manuel olarak etkinleştirebilir, sonra deaktivasyon koşulunun ne zaman geri yükleyeceğine karar vermesine izin verebilir. Her iki yönü de on'a zorlamak sıkışmış bir durum yaratır ve yapılandırma uyarısı olarak kaydedilir.
Tetikler senaryo ID'si, yön, değerlendirme zaman damgası ve tetik zamanındaki yapılandırma anlık görüntüsünü taşıyan yapılandırılmış bir yük ile ateşlenir. Tetik başarısızlığı (HTTP non-2xx, Oracle hatası) kaydedilir ve tetik profili başına isteğe bağlı olarak yeniden denenir.
Senaryolar her sağlık denetimi durum değişikliğinde değerlendirilir, polling zamanlayıcısında değil. Bir aktivasyon veya deaktivasyon eşiğini aşan ilk durum değişikliği geçişi tetikler. Değerlendirme maliyeti düşük kalır çünkü koşullar önceden hesaplanmış sağlık durumlarına başvurur.
Operatörler her senaryonun mevcut durumunu (etkin / etkin değil), son geçişin zamanını, her koşul grubu için son değerlendirme sonucunu ve tetik sonuçlarını görür. Pano sıkışmış geçişleri ve çelişen geçersiz kılmaları yüzeye çıkarır.
Kullanıcıyı korumak için ilk algılanan hatada failover'ı etkinleştir. Çalkalanmayı önlemek için yalnızca 15 dakika temiz birincil sağlıktan sonra deaktive et. Farklı koşullar, farklı zamanlama — aynı senaryo nesnesi.
Failover otomatiktir; dönüş yolu SRE onayı gerektirir. Deaktivasyon yönü off olarak ayarlanır; bir operatör runbook incelemesinden sonra manuel olarak on'a çevirir. Aktivasyon otomatik olarak değerlendirilmeye devam eder.
DC A → DC B failover olay yönetim sistemine bir HTTP webhook tetikler. DC B → DC A geri-dönüş aynı webhook'u tetikler ve önbellekleri yeniden ısıtmak için bir deployment-sistem çağrısı yapar. Her yöndeki tetikler bağımsızdır.
Failover'dan önce bir veritabanını sorgulamak için Oracle tetiğini kullan — örneğin yedek veritabanının log shipping ile yetiştiğini onayla. Tetik sonucu gerçek durum geçişine kapı açar.
Kendi runbook'unuz üzerine inşa edilmiş bir çift yönlü senaryo deneyimleyin: hızlı-giriş / yavaş-çıkış, manuel geri-dönüş, asimetrik tetik setleri — sizin politikanız, platformun varsayılanı değil.