Load Balancer TCP Sıfırlama ve Boşta Kalma Zaman Aşımı

Verilen bir kural Standart Load Balancer TCP Sıfırlama özelliğini etkinleştirerek senaryolarınız için daha tahmin edilebilir bir uygulama davranışı oluşturmak üzere Standart Load Balancer'yi kullanabilirsiniz. Load Balancer varsayılan davranış, akışın boşta kalma zaman aşımına ulaşıldıktan sonra akışları sessizce bırakmaktır. Bu özelliğin etkinleştirilmesi, Load Balancer tcp sıfırlamaları (TCP RST paketi) göndermesini sağlar. Bu, uygulama uç noktalarınıza bağlantının zaman içinde olduğunu ve artık kullanılabilir olmadığını bildirecek. Uç noktalar gerekirse hemen yeni bir bağlantı kurabilirsiniz.

Load Balancer TCP sıfırlama

TCP sıfırlama

Bu varsayılan davranışı değiştirir ve gelen NAT kurallarında, yük dengeleme kurallarında ve giden kurallarında boşta kalma zaman aşımında TCP Sıfırlamaları göndermeyi etkinleştirirsiniz. Kural başına etkinleştirildiğinde, Load Balancer eşleşen tüm akışlar için boşta kalma zaman aşımı sırasında hem istemci hem de sunucu uç noktalarına çift yönlü TCP Sıfırlama (TCP RST paketleri) gönderir.

TCP RST paketlerini alan uç noktalar ilgili yuvayı hemen kapatır. Bu, uç noktalara bağlantının yayın tarihine anında bir bildirim sağlar ve aynı TCP bağlantısında gelecekte iletişim başarısız olur. Uygulamalar yuva kapanıp gerektiğinde TCP bağlantısının zaman içinde kapanması beklenmeden bağlantıları yeniden kurmak için bağlantıları temizler.

Birçok senaryoda bu, bir akışın boşta kalma zaman aşımını yenilemek için TCP (veya uygulama katmanı) tutmaları gönderme gereğini azaltabilirsiniz.

Boşta kalma süreniz yapılandırmanın izin verilen sürelerini aşarsa veya uygulamanız TCP Sıfırlamaları etkinken istenmeyen bir davranış gösteriyorsa, TCP bağlantılarının canlılığını izlemek için HALA TCP keepalives (veya uygulama katmanı tutma) kullanmanız gerekir. Ayrıca, başta uygulama katmanı koruyucuları olmak üzere bağlantının yolun herhangi bir yanında yer alan bağlantı için de yararlı olmaya devam eder.

TCP Sıfırlamaları'nın etkinleştirilmesi, boşta kalma zaman aşımının ayarlanması ve istenen uygulama davranışının sağlanması için ek adımlar gerekip gerekl çalışmay karar vermek için bitiş senaryosunun tamamını dikkatle inceleyin.

Yapılandırılabilir TCP boşta kalma zaman aşımı

Azure Load Balancer aşağıdaki boşta kalma zaman aşımı aralığına sahip:

  • Giden Kuralları için 4 dakika ile 100 dakika arasında
  • Kural ve Gelen NAT kuralları için 4 Load Balancer 30 dakika

Varsayılan olarak, 4 dakikaya ayarlanır. Bir sürenin işlem dışı kalma süresi zaman aşımı değerinden uzunsa, ISTEMCI ile bulut hizmetiniz arasında TCP veya HTTP oturumunun korunacak bir garanti yoktur.

Bağlantı kapatılan istemci uygulama şu hata iletisini alabilirsiniz: "Temel alınan bağlantı kapatıldı: Canlı tutulması beklenen bir bağlantı sunucu tarafından kapatıldı."

TCP'nin canlı tutması yaygın bir uygulamadır. Bu uygulama, bağlantıyı daha uzun süre etkin tutar. Daha fazla bilgi için bu .NET örneklerine bakın. Etkin tutma etkin durumdayken, paketler bağlantıda etkin olmayan dönemlerde gönderilir. Canlı tutma paketleri, boşta kalma zaman aşımı değerine ulaşılmaması ve bağlantının uzun süre korunmasını sağlar.

Bu ayar yalnızca gelen bağlantılarda çalışır. Bağlantıyı kaybetmemek için TCP canlı tutma ayarını boşta kalma zaman aşımı ayarından daha kısa bir aralıkla yapılandırın veya boşta kalma zaman aşımı değerini artırın. Bu senaryoları desteklemek için yapılandırılabilir boşta kalma zaman aşımı desteği eklenmiştir.

TCP canlı tutma, pil ömrünün kısıtlaması olmayan senaryolarda çalışır. Mobil uygulamalar için önerilmez. Mobil uygulamada TCP canlı tutmanın kullanımı, cihaz pillerini daha hızlı boşaltır.

Sınırlamalar

  • TCP sıfırlaması yalnızca TCP bağlantısı sırasında ESTABLISHED durumda gönderilir.
  • TCP boşta kalma zaman aşımı UDP protokolü üzerindeki yük dengeleme kurallarını etkilemez.
  • Bir ağ sanal cihazı yolda olduğunda ILB HA bağlantı noktaları için TCP sıfırlaması desteklenmiyor. NVA'dan TCP sıfırlama ile giden kuralı kullanmak geçici bir çözüm olabilir.

Sonraki adımlar