Tek yönlü senaryolar, iş gerçekliği asimetrik olduğunda simetrik politikayı zorunlu kılar.
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ı.
Yaklaşımımız
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.
Aktivasyon yönü — senaryo ne zaman açılır
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.
Deaktivasyon yönü — senaryo ne zaman kapanır
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.
AND/OR gruplarıyla birleşik koşullar
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.
Kayıtlar, domain'ler ve DC çiftleri arasında yeniden kullanılabilir
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.
Yetenekler
Çift yönlü senaryolar, TR7 GTM'nin failover ve kurtarma politikasının temelidir.
Birleşik-koşul aktivasyon ifadesi
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.
Birleşik-koşul deaktivasyon ifadesi
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.
Yön başına bağımsız tetik setleri
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.
Tetikler çalışmadan önce kontrol kapısı
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.
Yön başına üç dönüş modu: auto / on / off
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).
DC çiftleri için otomatik üretilen senaryolar
İ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.
Senaryo-tetikli DNS kaydı sağlık durumu
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.
Senaryo-tetikli felaket kurtarma
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.
HTTP, HTTPS ve Oracle tetikleri
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.
Durum geçişi başına denetim izi
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.
Operasyonel derinlik
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.
Koşul grubu semantiği
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.
Birleşik denetim ID alanı
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.
Dönüş modu ile deaktivasyon etkileşimi
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.
Tetik yükü ve yeniden deneme davranışı
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.
Senaryo değerlendirme kadansı
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.
Mevcut senaryo durumuna görünürlük
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.
Ne zaman kullanılır
Hızlı giriş / yavaş çıkış failover
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.
Otomatik failover, manuel geri-dönüş
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.
Asimetrik DC'ler arası failover politikası
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.
Veritabanı farkında senaryolar
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.
Sıkça sorulan sorular
Aktivasyon ve deaktivasyon koşullarını aynı yapabilir miyim?
Aktivasyon ve deaktivasyon koşulları aynı anda true değerlendirilirse ne olur?
Tetikler temeldeki sağlık denetimlerinden nasıl farklı?
Çift yönlü senaryolar failover'a gecikme ekler mi?
Bir senaryo başka bir senaryoya başvurabilir mi?
Giriş yolunu ve dönüş yolunu bağımsız tanımlayın.
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.