Yapay zekadan makale özeti
- Kısa
- Ayrıntılı
- Bu video, bir eğitmen tarafından sunulan teknik bir eğitim serisinin bir parçasıdır. Eğitmen, cloud payment arcade type serisinin devamını sunarak DNS ve load balancing konularını detaylı şekilde anlatmaktadır.
- Video, DNS'in çalışma prensiplerinden başlayarak load balancing'ın farklı türlerini (Layer 3-4 ve Layer 7), TTL değerlerini ve farklı load balancing stratejilerini (round robin, ağırlıklı round robin, CMAP) açıklamaktadır. Ayrıca, DNS load balancing'ın avantajları ve dezavantajları, bölge yönetimi için karşılaşılan zorluklar ve global load balancing konusu ele alınmaktadır.
- Eğitmen, teorik bilgileri Google, Twitch ve Cloudflare gibi büyük şirketlerin DNS yapılandırmalarını terminal üzerinden göstererek desteklemekte ve bir sonraki bölümde custom multi-regional load balancing konusunu ele alacağını belirtmektedir. Video, DNS load balancing ve bölge yönetimi konusunda teknik bilgi edinmek isteyenler için kapsamlı bir kaynak niteliğindedir.
- 00:01DNS Load Balancing Tanıtımı
- Cloud Payment Arcade Type serisinde DNS ve load balancing konuları ele alınacak.
- DNS load balancing, Google.com veya Facebook.com gibi büyük sitelerin arka tarafta kullanılan tekniklerden biridir.
- Önceki bölümde ele alınan izole stack ve data sharding kavramları tekrar hatırlatılacak.
- 00:40İzole Stack ve Data Sharding
- İzole stack mimarisinde soldaki ve sağdaki region birbirleri arasında bağlantı yoktur.
- Data sharding'de kullanıcının verisi her zaman bir bölgede olur ve tüm requestler oraya gelir.
- Client, kullanıcıyı belli bir IP adresine yönlendirir ve farklı sub domainlerde çalışır.
- 02:03Load Balancer Türleri
- Load balancer'lar ikiye ayrılır: Layer 3 ve 4'te çalışan transport layer load balancer'lar ile Layer 7'de çalışan application layer load balancer'lar.
- Layer 3-4'te çalışan load balancer'lar TCP/IP gibi protokollerde çalışırken, Layer 7'dekiler HTTP/GRPS veya MongoDB/Redis gibi layer'larda çalışabilir.
- Load balancer, birden fazla client'dan gelen requestleri arka tarafa birkaç bağlantı üzerinden yönlendirebilir.
- 04:36DNS Load Balancer
- DNS load balancer, dataplane'de çalışan load balancer türlerinden farklıdır.
- DNS sorgularında client, name server'a bağlanıp domain'in IP adresini öğrenir.
- Name server, byte'ları forwardlamak yerine sadece nereye bağlanılacağını söyler.
- 05:43DNS Çalışma Prensibi
- Bir client, bir siteye bağlanmak istediğinde işletim sistemi DNS'e domain'i çözmesini ister.
- İşletim sistemi, konfigüre edilen name server'lara (örneğin etsy resolve.conf dosyası) sorgular.
- Router, ISP ve sonunda domain'in name server'larına bağlanarak domain'in IP adresini öğrenir.
- 08:03DNS Cevaplarının Süresi ve Kullanımı
- DNS, bir domain sorgusu için iki IP adresi döndürdüğünde, bu cevapların kullanılma süresi (TTL - Time to Live) kullanıcıya 30 saniye gibi bir süre olarak belirtilir.
- Bu süre bilgisayarın, internet servis sağlayıcısının veya kullanılan programlama dilinin kafasına göre değişebilir.
- Birden fazla IP adresi döndürüldüğünde, genellikle ilk IP adresi seçilir, bağlanamazsa ikinci IP adresi denenir.
- 10:11DNS Load Balancer'ın Çalışma Mantığı
- DNS load balancer'lar, birden fazla data center'ı olan siteler için gelen request'leri doğru yere yönlendirmeye çalışır.
- Load balancer, kendine verilen IP adresleri üzerinden verilen bir poliçeye göre kullanıcıya IP adreslerini döndürür ve çalışıp çalışmadığını kontrol eder.
- Bir IP adresi çalışmamaya başladığında, load balancer bunu fark edip o IP adresine trafik yollamayı durdurur.
- 11:29DNS Load Balancer Stratejileri
- Round Robin stratejisi, gelen kullanıcıları sırayla farklı IP adreslerine yönlendirir.
- Ağırlıklı round robin, belirli bir IP adresine daha fazla trafik yönlendirmek için kullanılır.
- Geomapping stratejisi, IP adresine göre DNS sunucusunun hangi IP adresine yönlendirileceğini belirler.
- 13:05DNS Load Balancer'ın Sağlık Kontrolü ve TTL Sorunu
- DNS load balancer'ın içinde entegre olan health check mekanizması, sağlıksız IP adreslerine trafik yollamayı durdurur.
- Bu IP adresleri genellikle sanal IP'lerdir ve bir makineye bağlı olmak zorunda değildir.
- TTL süresi, DNS cevabının ne kadar süre kullanılacağını belirler; örneğin Google'ın TTL süresi 30 saniye iken, Cloudflare'in TTL süresi 518 saniye olabilir.
- 14:07DNS Cevaplarının Kullanımı Örneği
- Bir terminalde Google.com'a DNS sorgusu atıldığında, bilgisayar genellikle aynı IP adresini döndürür çünkü cevabı cashler.
- Google'ın public DNS server'ına sorduğunda ise farklı IP adresleri döndürülür ve sırası değiştirilerek döndürülür.
- Client, DNS cevabındaki TTL süresi boyunca (örneğin 518 saniye) aynı IP adresine bağlanmaya çalışır, bu süre içinde IP adresi değişirse bile yeni bir DNS sorgusu yapmaz.
- 16:15DNS Load Balancer Mimarisi
- DNS load balancer mimarisinde iki farklı backend bulunur; biri region A'da, diğeri region B'de çalışır.
- Uygulamanın sağlığını anlamak için, en üstteki load balancer'a kadar uygulamanın sağlık durumunu bildirmek gerekir.
- DNS load balancer, sağlık probları (health probes) kullanarak sürekli olarak IP'ye bağlanıp çalışıp çalışmadığını kontrol eder.
- 17:54DNS Load Balancer'ın Çalışma Mantığı
- DNS load balancer, region sağlık durumunu en yukarıya kadar çıkararak origin'ı devre dışı bırakmayı amaçlar.
- TTL (Time To Live) durumu, client'ların cashlemesini sağlarken, çöküntü durumunda ayağa kalkma süresini etkileyen bir faktördür.
- Geomapping yaparak kullanıcının bağlandığı yere göre DNS cevabı döndürmek mantıklı olabilir, ancak bu eşit olmayan yük yaratabilir.
- 19:53Round Robin ve Ağırlıklı Round Robin Sorunları
- Round Robin ve ağırlıklı round robin, kullanıcıların farklı bölgelere yönlendirilmesiyle ilgili sorunlar yaratabilir.
- Bir kullanıcı bir bölgeye bağlandığında, o bölge hızlı çalışıyorsa beş dakika boyunca siteye bağlanır, sonra record expire eder ve başka bir bölgeye yönlendirilir.
- Bu yöntemler yükün eşit dağılmama sorununu çözmüyor.
- 20:50İzolesi Kavramı ve Avantajları
- İzolesi kavramı, DNS load balancer'ın ikisini bir araya getirerek hataları en üste taşımayı sağlar.
- DNS load balancing'in avantajı, aktif olarak iki bölgede kullanıcılara yardım edebilmesidir.
- Bu mimari, DDoS saldırılarını absorbe etmek için daha büyük bir resource pool sağlar ve bir region'da sıkıntı çıktığında trafiği shift etmeyi mümkün kılar.
- 23:27DNS Load Balancing'in Dezavantajları
- Sağlık durumunu en üste taşıma zorunluluğu, kodunuzu değiştirerek düşünmeniz gereken bir zorluktur ve tüm uygulamaların failliar modlarını göz önünde bulundurmanız gerekir.
- DNS TTL (cevapların ne kadar cashleneceği) ayarı pratikte iyi çalışmaz; kullanıcılar eski IP adreslerine uzun süre bağlanmaya devam eder çünkü DNS katmanlarında cashing doğru düzgün implant edilmez.
- DNS, içinden geçen trafiği görmediği için trafiği eşit olarak paylaştıramaz; örneğin Türkiye'deki iki data center'a aynı anda trafik yollamaya çalıştığınızda, DNS IP adreslerini rastgele dağıttığı için requestere eşit olarak paylaştırılmaz.
- 25:01DNS Load Balancing'in Sınırlamaları
- Bir uygulamanın kapasitesi belli bir region'a kısıtlı kalabiliyor; özellikle oto-scale özelliği yoksa ve trafik patternleri belli saatlerde değişiyorsa, DNS load balancing o region'daki kapasiteyi bilmediği için aksiyon alamaz.
- Bir sonraki bölümde Netflix gibi servislerin yaptığı custom multi-regional load balancing konusu ele alınacak, ancak bu konu egzotik olduğu için ayrı bir videoda ele alınacak.
- Son konu olarak global load balancing ele alınacak, ancak bu konu daha önceki bir videoda da bahsedilmiş ve ayrı bir videoda ele alınacak.