Nasıl Çalışır ?
Round robin dns aynı domain için birden fazla A (Host) Record girilmesi yöntemi ile çalışmaktadır. Ve sistem gelen istekleri sunuculara paylaştırır. Aslında paylaştırma dediğimiz kesinlikle o anki yük durumuna vs bakılıp değil round robin algoritmasıyla yapmasıdır. Algoritma sunucuları sıraya dizip gelen isteği ilk sıradaki sunucuya gönderir ve o sunucuyu en arkaya gönderir. Böylelikle istekler sunuculara dağılmış olur. Sunucu o an çalışmıyor olsa bile istek gönderilir.
Nasıl Yapılır ?
Öncelikle yeni sunucu (bu domain e ekleyeceğimiz sunucu) üzerinde domain tanımlaması gerekmektedir.
Domaininiz için varsayılan en az bir tane A (host) kaydınız bulunması gerekir. Siz buna ek olarak ikinci yada kaç tane sunucunuz varsa onlar için ekstra A (host) kayıtları girmeniz gerekmektedir.
Eğer hosting üzerinde bu işlemi yapıyorsanız bu kayıtları girerken sizden Host IP ve TTL bilgilerini isteyecekdir. Host kısmına önceki kaydınızda ne yazıyorsa (genellikle @ olur, bu tüm subdomainler demek oluyor) onu yazmanız gerekiyor, IP kısmı yeni sunucunun IP adresi, TTL ‘in önceki kayıtta olduğu gibi kalmasını öneriyoruz.
Bir örnek üzerinden gidelim. Biz sameurl.com domaini için round robin dns yapmak istiyor olalım. Bu kapsamda yeni bir hosting aldık yada yeni bir sunucu ekledik ve izleyeceğimiz adımlara bakalım.
sameurl.com için mevcut A (Host) Record:
sameurl.com IN A 173.201.166.19
Adım 1: Öncelikle yeni server üzerinde domain kaydı.
Adım2: Yeni A record.
sameurl.com için yeni A (Host) Record:
sameurl.com IN A 173.201.166.19
sameurl.com IN A 173.201.2.35
Bu ayarları yaptıktan sonra isteklerin her iki sunucuya da gittiğini göreceksiniz. Bu işlemi test etmek için Web Projeleri İçin Test Ortami Oluşturmak konulu yazımıza göz atmak isteyebilirsiniz.
Avantajları Nelerdir ?
- Sunucu yük paylaşımı
- Yük dengeleme için en ucuz yöntem olması
- Bir sunucu down olduğunda diğeri ile devam edebilme (down olanın kaydını silmek gerekebilir) dolayısıyla yedek sunucu özelliği
- Paylaşımlı hostinglerde rahatlıkla kullanabilme (eğer hosting firması size dns konusunda değişiklik imkanı veriyorsa)
Dezavantajları Nelerdir ?
- Sunucuların farklı ayar, program versiyonu vb durumlardan dolayı bir sunucuda normal çalışan kodun diğerinde çalışmama ihtimali (aynı site için birden fazla sunucuyla çalışan her sistemde olabileceği gibi)
- Access log kullanıyorsanız iki sunucuya ayrı ayrı log yazılması
- Session kullanıyorsanız ve session path disk ise bir sonraki istekte aynı sunucuya gitmeme ihtimali olduğundan session düşmesi (birden fazla sunucu ile çalışıldığında karşılaşılabilir)
- Tabi ki yapılan her değişikliğin her iki tarafa da yapılması ve dosyaların tamamen senkronize olması
- Diske yazılan verilerin sadece ilgili sunucuda olması (ekstra bir önlem almazsanız diğer sunucuya gitmemesi)
- Uzak lokasyonlar arasında kullanırsanız ortak database ‘e erişmede aynı sunucuya göre yavaşlık ihtimali