Yetenek

Ağırlıklı DNS

DNS seviyesinde yüzdelik trafik dağıtımı yapın; canary (yeni sürümü önce küçük bir kullanıcı yüzdesine açma), A/B test, blue/green (eski/yeni ortamı paralel çalıştırıp tek hamlede geçiş) ve drain (hedefi kademeli devreden çıkarma) senaryolarını weight ile yönetin.

TR7 Ağırlıklı DNS, DNS kayıtlarını yalnızca eşit dağıtılan IP listeleri olarak görmez. Her kayıt için ayrı weight değeri tanımlayarak trafiğin hangi oranda hangi hedefe gideceğini DNS seviyesinde belirlemenizi sağlar. Weighted round-robin ve weighted random algoritmalarıyla yeni sürüm, yeni veri merkezi, yeni servis grubu veya test ortamı düşük oranla trafiğe açılabilir. Weight artırılarak kademeli geçiş yapılır; sorun görülürse weight düşürülür veya 0 yapılarak hedef yanıttan çıkarılır. Weight değişiklikleri canlı konfigürasyon yenileme akışına girer. Yeni DNS sorguları güncel weight dağılımına göre yanıt alır; istemci tarafında daha önce cache'lenmiş yanıtlar ise TTL süresi boyunca yaşamaya devam eder. Bu yüzden hızlı geçiş senaryolarında TTL düşük tutulur. Sonuç: TR7, trafik yüzdesini DNS'in dilinde yönetir; canary release, blue/green geçiş, A/B test, bakım drain ve kademeli veri merkezi taşımasını ek yük dengeleme katmanı kurmadan uygular.

6
Dağıtım algoritması: all, rr, wrr, random, wRandom, closest
3sn
Debounced canlı yenileme gecikmesi
0
Weight değeri — hedefi drain moduna alır, kayıt silinmez

Klasik DNS round-robin eşit dağıtır; modern geçişlerde trafik yüzdesi gerekir.

Klasik DNS round-robin, aynı kayıt altındaki IP adreslerini genel olarak eşit dağıtır. Bu model basit yük paylaşımı için yeterli olabilir; ancak yeni sürüm devreye alma, A/B test, blue/green geçiş veya veri merkezi taşıma gibi senaryolarda yeterli kontrol sağlamaz. Operasyon ekibi çoğu zaman trafiğin yalnızca %5'ini yeni hedefe göndermek, kalanını mevcut sisteme bırakmak ister.

DNS seviyesinde ağırlıklandırma yoksa trafik yüzdesi uygulama katmanında veya ayrı bir trafik bölme katmanında çözülmeye çalışılır. Bu da ek mimari, ek izleme, ek sertifika yönetimi ve ek hata noktası anlamına gelir. Oysa karar DNS cevabında verilebiliyorsa, istemci daha en baştan doğru hedefe yönlendirilir.

Bakım ve drain senaryoları da klasik kayıt silme yaklaşımıyla kaba kalır. Bir IP'yi DNS kaydından silmek yeni sorgular için etkili olur; ancak geçiş yüzdesini kademeli azaltma veya hedefi kontrollü biçimde devreden çıkarma ihtiyacını tek başına karşılamaz. Ayrıca istemci ve ara resolver cache davranışı TTL süresi boyunca dikkate alınmalıdır.

Doğru model, her DNS kaydına ayrı weight tanımlamak ve algoritmayı senaryoya göre seçmektir. Weighted round-robin daha dengeli ve sıralı dağıtım için, weighted random ise istatistiksel yüzdelik seçim için kullanılabilir. Weight 0 değeri ise hedefi fiilen drain moduna alarak yeni DNS yanıtlarından düşürür.

TR7 Ağırlıklı DNS, per-record weight, weighted round-robin, weighted random, canlı konfigürasyon yenileme ve weight=0 drain davranışıyla DNS seviyesinde kontrollü trafik dağıtımı sağlar.

Yaklaşımımız

TR7, DNS yanıtını statik kayıt listesinden çıkarıp, weight değerleri ve seçilebilir algoritmalarla yönetilen trafik dağıtım kararına dönüştürür.

Weighted round-robin ile kayıtlar ağırlık oranına göre döner

Her IP veya kayıt üyesi için integer weight değeri tanımlanır. Weighted round-robin algoritması bu ağırlıkları dikkate alarak DNS yanıtlarını oransal biçimde dağıtır.

Weighted random istatistiksel yüzdelik seçim sağlar

Weighted random algoritması her sorguda ağırlık oranlarına göre rastgele seçim yapar. Büyük sorgu hacminde trafik dağılımı tanımlanan weight oranlarına yaklaşır.

Live update yeni DNS sorgularında hızla etkili olur

Weight değişiklikleri canlı konfigürasyon yenileme akışına girer ve yeni sorgular güncel dağıtımı alır. Daha önce cache'lenmiş yanıtlar TTL süresi boyunca yaşayacağı için hızlı geçişlerde TTL planlaması önemlidir.

Weight 0 drain davranışıyla hedef yanıttan düşer

Bir kaydın weight değeri 0 yapıldığında kayıt etkin aday listesinden çıkar. Bu davranış bakım, rollback veya eski veri merkezi kapatma senaryolarında kontrollü drain sağlar.

Yetenekler

Ağırlıklı DNS, kayıt bazlı weight değerlerini algoritma, canlı güncelleme, topology ve bakım senaryolarıyla birlikte yönetir.

Her DNS kaydı için ayrı integer weight değeri tanımlanır

TR7'de her kayıt üyesi kendi weight değerine sahip olabilir. Bu değer trafik dağılımındaki göreli payı belirler; 5 ve 2 ağırlıkları yaklaşık 5:2 oranlı bir dağıtım hedefler. Float değer verilirse integer değere yuvarlanarak kullanılır. Bu model, daha güçlü hedeflere daha yüksek pay, test hedeflerine daha düşük pay vermeyi kolaylaştırır.

Weighted round-robin algoritması kontrollü ve dengeli dağıtım sağlar

Weighted round-robin, kayıtları ağırlık oranına göre dönüşümlü biçimde seçer. Dengeli dağıtım beklendiğinde ve kayıtların sırayla kullanılmasının uygun olduğu durumlarda tercih edilir. Canary, kademeli rollout ve kapasiteye göre trafik paylaşımı için pratik bir algoritmadır. Operatör yalnızca weight değerlerini değiştirerek dağıtımı yeniden şekillendirir.

Weighted random algoritması istatistiksel oranlı trafik seçimi yapar

Weighted random, her DNS sorgusunda ağırlık oranlarına göre rastgele seçim üretir. Kısa zaman aralıklarında küçük sapmalar olabilir; yüksek sorgu hacminde dağılım tanımlanan oranlara yaklaşır. A/B test ve deneysel trafik dağıtımı gibi senaryolarda kullanışlıdır. Aynı kayıt havuzunda düşük ağırlıklı yeni hedefler güvenli biçimde denenebilir.

Weight değişiklikleri canlı yenileme ile yeni sorgulara yansır

Weight değerleri değiştiğinde GTM konfigürasyonu canlı yenileme sürecine girer. Debounce mekanizması hızlı ardışık değişiklikleri toparlayarak gereksiz tekrar üretimi azaltır; tipik canlı yenileme gecikmesi 3 saniye seviyesindedir. Yeni DNS sorguları güncel weight dağılımını alır. Ancak istemci ve resolver cache'lerinde eski yanıtlar TTL süresince kalabilir.

TTL planlaması hızlı geçiş ve rollback için kritik kalır

DNS ağırlığı değiştiğinde sistem yeni yanıtları günceller; fakat daha önce verilmiş DNS cevapları TTL bitene kadar ara cache'lerde yaşamaya devam eder. Bu nedenle canary, blue/green veya hızlı rollback senaryolarında TTL düşük tutulmalıdır. 5-60 saniye aralığındaki düşük TTL değerleri geçişlerde daha hızlı etki sağlar. Normal kararlı dönemlerde daha yüksek TTL kullanılabilir.

Weight 0 ile kayıt fiilen drain moduna alınır

Bir IP veya kayıt üyesinin weight değeri 0 olduğunda bu hedef yeni DNS yanıtlarından çıkarılır. Bu davranış kayıt silmeden bakım drain yapmak için kullanılır. Mevcut cache'ler TTL bitene kadar eski yanıtı kullanabilir; yeni sorgular ise hedefi artık almaz. Bakım, rollback veya veri merkezi kapatma sırasında kontrollü ve geri alınabilir bir yöntem sağlar.

Veri merkezi ve IP seviyesindeki weight birlikte değerlendirilebilir

TR7'de dağıtım yalnızca tek IP seviyesinde düşünülmez; veri merkezi grubu ve kayıt üyesi seviyesinde weight mantığı birlikte kullanılabilir. Önce uygun veri merkezi veya aday grup belirlenir, ardından aynı grup içindeki kayıtlar weight'e göre dağıtılır. Bu model global trafik yönetiminde kapasite ve konum bilgisini birlikte ele almaya yardımcı olur. Büyük yapılarda dağıtım daha katmanlı ve yönetilebilir hale gelir.

Topology eşleşmesi sonrası weight aynı bucket içinde çalışır

Geo veya topology tabanlı seçim kullanıldığında önce istemciye uygun aday grup belirlenir. Weight dağıtımı daha sonra bu aday küme içinde uygulanır. Böylece örneğin Avrupa kullanıcıları yalnızca Avrupa veri merkezi grubuna yönlendirilirken, o grup içindeki IP'ler ağırlıklı dağıtılabilir. Topology kararı ile weight kararı birbirine karışmadan sıralı biçimde çalışır.

Klasik round-robin ve random algoritmaları da aynı modelde seçilir

Ağırlıklı dağıtım gerekmeyen kayıtlar için klasik round-robin veya random seçim kullanılabilir. Round-robin kayıtları eşit dağıtır; random ise rastgele seçim yapar. Bu algoritmalar basit senaryolarda yeterlidir ve weighted algoritmalara geçiş gerektiğinde aynı kayıt modeli üzerinden yönetilir. Operatör her DNS kaydı için uygun dağıtım davranışını seçebilir.

Closest algoritması A ve AAAA kayıtlarında yakın hedef seçimi sunar

Closest algoritması IP tabanlı yakınlık seçimi gereken A ve AAAA kayıtları için kullanılabilir. Bu model ağırlıklı dağıtımdan farklı olarak istemciye daha yakın veya daha uygun hedef seçimine odaklanır. Global trafik yönetiminde topology, closest ve weight birlikte farklı karar katmanları olarak değerlendirilebilir. Böylece DNS cevabı yalnızca rastgele değil, bağlama duyarlı hale gelir.

Operasyonel derinlik

Ağırlıklı DNS; weight formatı, algoritma seçimi, canlı yenileme gecikmesi, TTL etkisi ve kayıt seçim davranışıyla birlikte işletilir.

01

Weight formatı

Weight değeri number olarak tanımlanır ve integer olarak kullanılır. Ondalıklı değer girilirse yuvarlanır. Weight oranları mutlak yüzde değil, kayıtlar arasındaki göreli paydır.

02

Weighted algoritma render davranışı

Weighted round-robin ve weighted random algoritmaları kayıt listesi ile weight haritasını birlikte kullanır. Her kayıt için indekslenmiş weight değerleri üretilir. Bu yapı DNS yanıt üretiminde seçici fonksiyon tarafından değerlendirilir.

03

Canlı yenileme gecikmesi

Konfigürasyon değişiklikleri debounced canlı yenileme sürecinden geçer. Tipik debounce değeri 3 saniyedir; yoğun ardışık değişikliklerde maksimum bekleme sınırı uygulanabilir. Bu davranış gereksiz sık render işlemlerini azaltır.

04

TTL etkisi

Weight değişimi yeni DNS sorgularında etkili olur. Daha önce yanıt almış istemci veya resolver'lar TTL bitene kadar eski kaydı kullanabilir. Bu nedenle geçiş planlarında TTL, weight kadar önemli bir operasyon parametresidir.

05

Drain davranışı

Weight 0, kaydı etkin aday listesinden çıkarmak için kullanılır. Bu, kaydı tamamen silmeden bakım veya geçiş yapmayı sağlar. Geri almak için weight yeniden pozitif bir değere çekilir.

06

First N seçimi

Bazı senaryolarda algoritma yerine sayı verilerek aday kayıt listesinden ilk N kayıt seçilebilir. Bu davranış basit ve deterministik kayıt sınırlama için kullanılabilir. Ağırlıklı dağıtım gerekmeyen özel durumlarda pratik bir seçenektir.

Hangi senaryolarda kullanılır

Canary release ile yeni sürüme düşük trafik verme

Yeni sürüm IP'sine düşük weight, mevcut sürüme yüksek weight verilir. Örneğin yeni sürüm yaklaşık %5 trafikle başlar; metrikler sağlıklıysa weight kademeli artırılır. Sorun görülürse yeni sürüm weight 0 yapılarak drain edilir.

Blue/green geçişte kontrollü DNS yönlendirme

Blue ortam aktifken green ortam düşük weight ile test edilir. Geçiş anında blue weight 0'a düşürülür, green tek aktif hedef haline gelir. Rollback gerektiğinde ağırlıklar tersine çevrilerek eski ortama dönülür.

A/B test için iki hedef arasında oranlı dağıtım

İki landing page veya iki servis varyantı farklı IP kayıtlarıyla tanımlanır. Weight değerleri 1:1 yapılarak eşit test veya 9:1 yapılarak sınırlı deney kurgulanabilir. Sonuç analizine göre trafik oranı DNS seviyesinde değiştirilir.

Veri merkezi taşımasında kademeli trafik aktarımı

Eski veri merkezi yüksek weight ile başlar, yeni veri merkezi düşük weight ile devreye alınır. Operasyon ekibi 100 → 80 → 50 → 20 → 0 gibi kademeli azaltma yaparak trafiği yeni merkeze taşır. TTL düşük tutulduğunda geçiş etkisi daha hızlı gözlemlenir.

Kapasite bazlı yük dengelemesi

Daha güçlü kurum servislerine yüksek weight, daha kısıtlı kaynaklara düşük weight atanır. Trafik dağılımı sunucu kapasitesiyle orantılı hale gelir. Operatör yalnızca weight değerlerini güncelleyerek dağıtımı kapasiteye göre yeniden şekillendirir.

Bakım drain ile kesintisiz servis geçişi

Bakıma alınacak kurum servisinin weight değeri 0'a düşürülür. Yeni DNS sorguları bu hedefi almaz; daha önce cache'lenmiş yanıtlar TTL süresince yaşamaya devam eder. Bakım tamamlandığında weight yeniden pozitif değere çekilerek servis devreye alınır.

Sık sorulanlar

Weighted round-robin ile weighted random arasındaki fark nedir?
Weighted round-robin, kayıtları ağırlık oranına göre sırayla seçer; dağıtım dengeli ve deterministik bir döngü izler. Weighted random ise her sorguda ağırlık oranlarına göre istatistiksel rastgele seçim yapar. Kısa vadede küçük sapmalar olabilir; yüksek hacimde dağılım tanımlanan oranlara yaklaşır. Canary ve kademeli rollout için round-robin, A/B test ve deneysel dağıtım için random genellikle tercih edilir.
Weight 0 ile kaydı silmek arasındaki fark nedir?
Weight 0 kaydı yanıttan çıkarır ancak konfigürasyonda bırakır. Geri almak için weight'i pozitif bir değere çekmek yeterlidir; kayıt yeniden canlı hale gelir. Kaydı silmek ise konfigürasyondan tamamen kaldırmak anlamına gelir. Bakım, rollback ve geçiş senaryolarında weight 0 daha güvenli ve geri alınabilir bir yöntem sunar.
Weight değişikliği ne zaman etkili olur?
Weight değişikliği GTM canlı yenileme akışına girer. Debounce mekanizması nedeniyle tipik gecikme yaklaşık 3 saniyedir; yoğun ardışık değişikliklerde maksimum bekleme sınırı uygulanabilir. Yeni DNS sorguları güncel weight dağılımını alır. Ancak daha önce cache'lenmiş yanıtlar TTL bitene kadar yaşamaya devam eder; bu nedenle hızlı geçiş senaryolarında TTL düşük tutulmalıdır.
Canary release için önerilen TTL değeri nedir?
Hızlı geçiş ve rollback esnekliği için TTL 5-60 saniye aralığında tutulması önerilir. Düşük TTL, weight değişikliğinin etkisini daha hızlı gözlemlemenizi sağlar; istemci ve resolver cache'ler kısa sürede güncellenir. Kararlı dönemlerde daha yüksek TTL kullanılabilir. TTL, weight kadar önemli bir operasyon parametresidir.
Topology ile weight birlikte kullanılabilir mi?
Evet. Geo veya topology tabanlı seçim uygulandığında önce istemciye uygun aday grup belirlenir. Weight dağıtımı daha sonra bu aday küme içinde çalışır. Örneğin Avrupa kullanıcıları Avrupa veri merkezi grubuna yönlendirilirken, o grup içindeki IP'ler ağırlıklı dağıtılabilir. Topology ve weight kararı birbirine karışmadan sıralı biçimde uygulanır.
Float weight değeri girilebilir mi?
Weight değeri number olarak tanımlanır; float girilirse matematiksel yuvarlama ile integer'a dönüştürülür. Weight oranları mutlak yüzde değil, kayıtlar arasındaki göreli paylardır. Örneğin 5 ve 2 ağırlıkları yaklaşık 5:2 oranlı dağıtım hedefler; kesin yüzde değil göreli oran anlamlıdır.

DNS seviyesinde trafik yüzdenizi kontrol altına alın

Canary, blue/green, A/B test ve veri merkezi taşıması için per-record weight ve canlı yenileme. Kendi ortamınızda canlı bir kurulumda gezdirelim.