Yetenek

GTM Tetikleyiciler ve İleticiler

GTM yalnızca DNS yanıtı üretmez; sağlık durumu değiştiğinde dış sistemleri tetikler ve DNS sorgularını doğru ileticiye yönlendirir.

TR7 GTM Tetikleyiciler ve İletici, global trafik yönetimini pasif DNS cevabı olmaktan çıkarır. Sağlık kontrol senaryosu aktif veya pasif duruma geçtiğinde HTTP/HTTPS veya Oracle DB tetikleyicileri çalıştırılabilir; böylece failover, DR, audit, runbook veya dış izleme sistemleri otomatik aksiyon alır. Tetikleyiciler turn ve return yönlerinde ayrı tanımlanır. Bir senaryo aktif olduğunda triggerTurnActions zinciri, normale döndüğünde triggerReturnActions zinciri sıralı çalışır. HTTP/HTTPS tetikleyiciler status code, header, body ve JSONata içerik kontrolüyle doğrulanabilir; Oracle tetikleyiciler ise veritabanı bağlantısı ve scenario adımlarıyla çalışır. Forwarder katmanı ise DNS sorgularının nereye iletileceğini yönetir. Belirli domain'ler farklı upstream DNS hedeflerine yönlendirilebilir; TR7'nin kendi authoritative zone'ları localhost'a forward edilebilir; ECS bilgisi korunarak geo-routing kararlarının bozulması engellenir. Sonuç: TR7 GTM, DNS çözümlemenin ötesine geçer; sağlık durumu değişimlerini dış sistemlere yansıtan tetikleyici zinciri ve selective DNS forwarding sağlayan iletici katmanı sunar.

2
Trigger tipi: HTTP/HTTPS ve Oracle DB
24 saat
Maksimum trigger timeout sınırı
5
Forwarder istatistiği: queries, answers_bytes, cache_hit, cache_miss, latency

GTM failover yapıyorsa, dış sistemlerin de bu değişikliği bilmesi gerekir.

GTM mimarisinde sağlık kontrolü sonucu değiştiğinde DNS yanıtı değişebilir; ancak operasyon çoğu zaman DNS cevabından ibaret değildir. Bir veri merkezi devreden çıktığında alarm sistemi, ticket sistemi, DR otomasyonu, audit akışı veya uygulama ekibi de bu değişikliği bilmek ister. Bu bağlantı kurulmazsa GTM karar verir, fakat kurumun geri kalan operasyon zinciri bu karardan geç haberdar olur.

Bu ihtiyacı ayrı orchestration katmanıyla çözmek mümkündür; ancak bu da yeni servis, yeni kimlik bilgisi, yeni izleme ve yeni hata noktası demektir. Sağlık kontrolü zaten GTM içinde çalışırken, bu durum değişiminin dış sistemlere aktarılması aynı platformdan yönetilmelidir.

DNS forwarding tarafında da benzer bir problem vardır. Bazı domain'ler kurum içi DNS'e, bazıları dış resolver'a, bazıları ise TR7 authoritative zone'una gitmelidir. Basit forwarder mantığı tüm sorguları tek hedefe gönderdiğinde split-DNS, internal zone, partner domain ve geo-routing davranışları karışır.

ECS bilgisi kaybolursa problem daha da büyür. Geo veya topoloji tabanlı kararlar istemci ağ bilgisinden beslenir; forwarder bu bilgiyi düşürürse upstream tarafındaki coğrafi yönlendirme hatalı hale gelebilir. Forwarder yalnızca sorguyu taşımamalı, karar bağlamını da korumalıdır.

TR7 GTM Tetikleyiciler ve İletici, sağlık kontrolü durum değişimlerini HTTP/HTTPS veya Oracle DB aksiyon zincirlerine bağlar; selective domain forwarding, localhost zone forward ve ECS pass-through ile DNS iletimini operasyonel olarak yönetilebilir hale getirir.

Yaklaşımımız

TR7, GTM'i yalnızca cevap veren DNS motoru olarak değil, sağlık durumuna tepki veren ve DNS sorgularını bağlama göre ileten aktif operasyon katmanı olarak tasarlar.

Sağlık kontrolü değişimi tetikleyici zincirini başlatır

HC scenario base durumu değiştiğinde turn veya return aksiyonları çalıştırılabilir. Scenario aktif olduğunda triggerTurnActions, normale döndüğünde triggerReturnActions sıralı şekilde yürütülür.

HTTP ve HTTPS tetikleyiciler içerik doğrulaması yapabilir

HTTP/HTTPS tetikleyiciler method, URI, header, body, beklenen status code ve timeout ile tanımlanır. Yanıt body'si JSONata veya basic içerik kontrolüyle doğrulanarak aksiyonun başarılı olup olmadığı belirlenir.

Oracle DB tetikleyicileri veritabanı senaryolarını çalıştırır

Oracle trigger, bağlantı bilgisi ve scenario adımlarıyla çalışır. wait ve executeCmd adımlarıyla veritabanı tarafında kontrol veya aksiyon çalıştırılabilir; beklenen satır veya metin sonucu doğrulanabilir.

DNS forwarder domain bazlı iletim ve ECS koruması sağlar

Forwarder, belirli domain'leri belirli DNS hedeflerine iletebilir; varsayılan hedef root domain için tanımlanabilir. ECS pass-through ile istemci subnet bağlamı korunur ve geo-routing kararları bozulmaz.

Yetenekler

GTM Tetikleyiciler ve İletici, sağlık kontrolü aksiyonlarını, HTTP/HTTPS ve Oracle doğrulamasını, zincirleme trigger akışını ve selective DNS forwarding'i tek yönetim modelinde birleştirir.

HTTP trigger method, URI, header ve body ile yapılandırılır

HTTP trigger, hedef adres, port, request method, URI, header listesi ve request body değerleriyle tanımlanır. Beklenen status code listesi üzerinden çağrının başarılı olup olmadığı kontrol edilebilir. Timeout değeri uzun süren dış sistem çağrılarını sınırlamak için kullanılır. DR runbook, audit endpoint veya alarm sistemi gibi HTTP tabanlı hedefler bu modelle tetiklenebilir.

HTTPS trigger sertifika doğrulama davranışıyla güvenli çağrı yapar

HTTPS trigger, HTTP trigger ile aynı request modelini TLS üzerinden uygular. verifyCertificate bayrağıyla hedef sertifikanın doğrulanıp doğrulanmayacağı belirlenebilir. Üretim ortamında sertifika doğrulamanın açık tutulması önerilir. Bu yapı, güvenli dış aksiyon sistemlerine GTM scenario değişimlerini iletmek için kullanılır.

JSONata content check response body doğrulamasını esnek hale getirir

HTTP/HTTPS trigger yanıtı JSON veya XML olarak parse edilebilir ve JSONata expression ile doğrulanabilir. Context içinde body, bodyRaw, headers ve status gibi değerler kullanılabilir. Örneğin dış runbook sistemi 200 döndürse bile response body içindeki success=true alanı ayrıca kontrol edilebilir. Bu, yalnızca status code'a güvenmeyen daha sağlam trigger doğrulaması sağlar.

Basic content check basit substring doğrulaması sunar

JSONata gerekmeyen durumlarda basic content check kullanılabilir. Yanıt gövdesinde belirli metnin bulunup bulunmadığı .includes() mantığıyla kontrol edilir. Küçük entegrasyonlar, eski sistemler veya sade health response dönen endpoint'ler için yeterli olabilir. Operatör karmaşık expression yazmadan hızlı doğrulama yapar.

Oracle DB trigger veritabanı bağlantısı ve scenario adımları çalıştırır

Oracle trigger, kullanıcı, parola ve connection string ile veritabanına bağlanır. Scenario adımları wait ve executeCmd gibi işlemlerden oluşabilir. executeCmd sonucunda beklenen satır sayısı veya beklenen metin kontrol edilebilir. Bu model, uygulama veritabanı durumunu çapraz doğrulamak veya veritabanı tarafında kontrollü aksiyon çalıştırmak için kullanılır.

Trigger zincirleme birden fazla aksiyonu sıralı yürütür

triggerTurnActions ve triggerReturnActions dizileri birden fazla trigger ID'sini sıralı şekilde çalıştırır. Bir aksiyon başarısız olursa zincir kırılır ve sonraki aksiyonlar çalıştırılmaz. Bu davranış, bağımlı runbook adımlarının kontrolsüz ilerlemesini engeller. Örneğin önce audit endpoint'e yaz, sonra DR job başlat gibi akışlar kurulabilir.

Turn ve return yönleri scenario geçişini ayrı ele alır

turn, scenario'nun aktif hale geldiği durumu temsil eder; return ise scenario'nun pasifleşip normale döndüğü durumu temsil eder. Her yön için ayrı trigger listesi ve koşul tanımlanabilir. Failover sırasında farklı, recovery sırasında farklı aksiyonlar çalıştırılabilir. Bu ayrım operasyon akışlarının daha temiz tasarlanmasını sağlar.

Active trigger temizliği eski trigger süreçlerinin çakışmasını önler

Yeni group key geldiğinde eski trigger süreçleri durdurulabilir. Trigger lifecycle started, succeeded veya failed loglarıyla takip edilir; kısa bir gecikme sonrası activeTrigger event temizlenir. Bu davranış arka arkaya gelen sağlık durumu değişimlerinde eski aksiyonların yeni akışla çakışmasını azaltır. Ana servis trigger fork yapısından izole kalır.

Trigger execution yalnızca master node üzerinde yapılır

Cluster ortamında trigger'ların yalnızca master node'da çalışması sağlanır. Diğer node'lar aynı sağlık değişimini görse bile dış aksiyonu tekrar çalıştırmaz. Bu, webhook veya DB aksiyonlarının çift tetiklenmesini engeller. Cluster davranışı daha deterministik hale gelir.

PowerDNS Recursor forwarder ayrı süreç ve portla çalışır

Forwarder katmanı ayrı recursor süreci olarak konumlanır. forwarderInnerPort aralığı üzerinden DNS sorgularını alır ve tanımlı upstream hedeflere iletir. Authoritative DNS ve recursor forwarding davranışı ayrıştırılır. Bu ayrım, TR7'nin kendi zone'ları ile dış DNS çözümlemesini aynı mimaride kontrollü şekilde yönetmesini sağlar.

Selective domain forwarding her domain için farklı hedef tanımlar

domainBasedForwarding listesiyle belirli domain'ler belirli DNS adreslerine yönlendirilebilir. Örneğin internal domain kurum içi DNS'e, diğer sorgular varsayılan upstream resolver'a gidebilir. Bu yapı split-DNS ve hibrit DNS mimarileri için önemlidir. Tüm sorguları tek hedefe gönderen kaba forwarder yaklaşımını aşar.

ECS pass-through geo kararları için istemci bağlamını korur

Forwarder, ECS bilgisini geçirerek upstream tarafın istemci subnet bağlamıyla karar vermesine yardımcı olur. ecs-ipv4-bits, ecs-add-for ve allow-list ayarlarıyla ECS davranışı kontrol edilebilir. Geo-routing veya topology tabanlı upstream kararlar için bu bilgi kritiktir. ECS düşürülürse coğrafi yönlendirme yanlış resolver lokasyonuna göre yapılabilir.

Operasyonel derinlik

GTM tetikleyiciler ve forwarder; timeout, lifecycle, child process, parse önceliği, forward zone sırası ve metadata satırlarıyla birlikte işletilir.

01

Trigger timeout davranışı

HTTP trigger için varsayılan timeout 120 saniye olabilir. Oracle trigger kendi özel işlem süresine göre daha uzun çalışabilir. Genel trigger süreci 24 saate kadar sınırlandırılabilir; uzun runbook veya veritabanı adımlarında bu üst sınır önemlidir.

02

Retry davranışı

Trigger zincirinde otomatik retry davranışı bulunmaz. Bir trigger başarısız olursa zincir kırılır ve sonraki aksiyonlar çalışmaz. Bu nedenle hedef sistemlerin idempotent ve güvenilir tasarlanması gerekir.

03

Trigger lifecycle logları

Trigger started, succeeded veya failed durumlarıyla loglanır. Bu kayıtlar failover veya recovery sırasında hangi aksiyonun çalıştığını göstermeye yarar. Active trigger durumu kısa gecikme sonrası temizlenir.

04

Ayrı process execution

Trigger çalıştırma ayrı child process olarak yapılabilir. Bu model ana GTM servisinin uzun süren dış çağrı veya DB işlemlerinden etkilenmesini azaltır. Başarısız trigger ana servisi düşürmez.

05

Response parse önceliği

HTTP response body içerik tipine göre önce JSON, sonra XML olarak parse edilmeye çalışılır. Uygun parse yapılamazsa raw string fallback kullanılır. JSONata expression bu context üzerinde çalıştırılır.

06

Forward zone sırası

forward-zones-recurse satırları belirli sırayla üretilir. İlk domain forward tanımı ana satır olarak, sonraki tanımlar ek satır olarak yazılabilir. Bu sıralama selective forwarding davranışının net uygulanması için önemlidir.

07

Forwarder metadata

forwarder.metaData alanı ek recursor yapılandırma satırları taşımak için kullanılabilir. Bu alan özel cache, politika veya operasyonel ayarlar için genişletme noktası sağlar. Kullanılan metadata satırları dikkatli doğrulanmalıdır.

Hangi senaryolarda kullanılır

Primary veri merkezi down olduğunda webhook alarmı

Sağlık kontrol scenario aktif hale geldiğinde HTTP POST trigger çalıştırılır. Alarm veya olay yönetim sistemine veri merkezi down bilgisi iletilir. DNS failover kararı dış operasyon sistemiyle aynı anda görünür hale gelir.

DR scenario aktifleşince otomatik runbook başlatma

DR scenario aktive olduğunda HTTPS trigger ile otomasyon platformunda job başlatılabilir. İlk trigger audit kaydı oluşturur, ikinci trigger DR bring-up işini çalıştırır. Trigger zinciri fail olursa sonraki adım kontrolsüz ilerlemez.

Health check değişimini audit endpoint'e yazma

Her turn ve return olayında HTTP trigger audit endpoint'e olay kaydı gönderebilir. Hangi zone, hangi scenario ve hangi zamanda değişti bilgisi dış log sistemine aktarılır. GTM kararları denetlenebilir hale gelir.

Uygulama veritabanı durumunu Oracle trigger ile doğrulama

Application heartbeat başarısız olduğunda Oracle trigger ayrı bir DB kontrolü çalıştırabilir. Beklenen satır veya metin sonucu alınırsa olay çapraz doğrulanır. Böylece yalnız HTTP health check sonucuna bağlı kalmadan daha güçlü karar sinyali elde edilir.

Internal domain sorgularını kurum içi DNS'e iletme

internal.example.com gibi domain'ler domainBasedForwarding ile kurum içi DNS hedeflerine yönlendirilebilir. Diğer sorgular varsayılan upstream DNS'e gider. TR7 authoritative zone'ları ise localhost üzerinden kendi DNS sürecine yönlendirilebilir.

Split-horizon DNS mimarisinde seçici forwarder kullanma

İç istemciler internal uygulama domain'lerini kurum içi recursor üzerinden çözerken, dış istemciler TR7 GTM authoritative yanıtlarını alabilir. Selective forwarding ve ECS pass-through birlikte kullanılarak iç/dış çözümleme davranışı ayrıştırılır. DNS mimarisi tek yönlü forwarding'e sıkışmaz.

Sık sorulanlar

GTM tetikleyicisi hangi trigger tiplerini destekler?
TR7 GTM iki trigger tipi sunar: HTTP/HTTPS ve Oracle DB. HTTP/HTTPS trigger'lar method, URI, header, body ve beklenen status code ile yapılandırılır; yanıt body'si JSONata veya basic content check ile doğrulanabilir. Oracle DB trigger ise bağlantı bilgisi ve scenario adımlarıyla veritabanı tarafında kontrol veya aksiyon çalıştırır.
Trigger zinciri bir aksiyonda başarısız olursa ne olur?
triggerTurnActions veya triggerReturnActions dizisinde bir aksiyon başarısız olursa zincir o noktada kırılır ve sonraki aksiyonlar çalıştırılmaz. Otomatik retry davranışı bulunmaz. Bu nedenle hedef sistemlerin idempotent ve güvenilir tasarlanması önerilir. Trigger sonuçları started, succeeded veya failed olarak loglanır.
Cluster ortamında trigger'lar hangi node üzerinde çalışır?
Cluster ortamında trigger'lar yalnızca master node üzerinde çalışır. Diğer node'lar aynı sağlık değişimini görse bile dış aksiyonu tekrar çalıştırmaz. Bu mekanizma webhook veya DB aksiyonlarının çift tetiklenmesini engeller ve cluster davranışını daha deterministik hale getirir.
DNS forwarder ECS bilgisini nasıl korur?
Forwarder katmanı ECS pass-through ile istemci subnet bilgisini upstream DNS'e iletir. ecs-ipv4-bits, ecs-add-for ve edns-subnet-allow-list ayarlarıyla ECS davranışı kontrol edilebilir. ECS bilgisi düşürülürse geo-routing veya topology tabanlı upstream kararlar yanlış resolver lokasyonuna göre yapılabilir; bu nedenle ECS pass-through geo mimarilerinde kritik öneme sahiptir.
Selective domain forwarding nasıl yapılandırılır?
domainBasedForwarding listesiyle belirli domain'ler belirli DNS adreslerine yönlendirilebilir. Her domain için ayrı hedef tanımlanabilir; tanımlanmayan sorgular varsayılan upstream resolver'a gider. TR7 authoritative zone'ları ise localhost üzerinden kendi DNS sürecine forward edilebilir. Bu yapı split-DNS ve hibrit DNS mimarileri için uygundur.
HTTP/HTTPS trigger yanıt doğrulaması nasıl çalışır?
Trigger çağrısı tamamlandığında yanıt body'si önce JSON, sonra XML olarak parse edilmeye çalışılır; her ikisi de başarısız olursa raw string olarak işlenir. JSONata content check modunda expression bu context üzerinde değerlendirilir; basic content check modunda ise yanıt body'sinde belirli metnin varlığı .includes() mantığıyla kontrol edilir. Yalnızca status code değil, yanıt içeriği de doğrulama kapsamına alınabilir.

GTM failover kararlarını dış sistemlere bağlayın

HTTP/HTTPS ve Oracle DB tetikleyici zincirleri, selective DNS forwarding ve ECS-aware recursor. Kendi ortamınızda canlı bir kurulumda gezdirelim.