Hash tabanlı algoritmalardaki Hash Consistency seçeneği ne işe yarar?
Kısa cevap
Hash Consistency, self-persistent bir algoritma (HTTP'de Source, URI, URL Param, HDR; L7 TCP'de RDP Cookie) seçildiğinde LB Algorithm kutusunda görünen ve varsayılan olarak kapalı gelen anahtardır. Açıldığında TR7 tutarlı hash kullanır: çalışan sunucu sayısı değiştiğinde istemcilerin yalnızca küçük bir kısmı yer değiştirir ve hiçbir Kurum Servisi ortalama yükün 1,5 katından fazlasını almaz; sınır aşılırsa istek sıradaki sunucuya gider.
Nasıl Çalışır?
| Hash consistency kapalı (varsayılan) | Hash consistency açık | |
|---|---|---|
| Eşleme | Değerin hash'i, çalışan sunucuların toplam Weight'ine göre bir sunucuya eşlenir; dağılım düzgündür | Sunucular bir halka üzerine yerleştirilir; değer halkadaki en yakın sunucuya eşlenir |
| Sunucu çıkınca | Hesap değişir; değerlerin çoğu başka sunucuya kayar | Yalnızca o sunucunun değerleri diğer sunuculara taşınır |
| Sunucu eklenince | Değerlerin çoğu başka sunucuya kayar | Değerlerin küçük bir kısmı yeni sunucuya geçer |
| Yük sınırı | Yoktur; yoğun bir değer tek sunucuyu aşırı yükleyebilir | Bir sunucu, sunucuların ortalama eşzamanlı yükünün en fazla 1,5 katını alır; sınır aşılırsa istek halkadaki sıradaki sunucuya gider |
| Weight | Uygulanır | Uygulanır |
Bedeli: yük sınırı aşıldığında bazı istemciler hash'lerinin gösterdiği sunucu yerine başka bir sunucuya gider; yani kalıcılık o istekler için esner.
Ne Zaman Açılır?
- Az sayıda değer trafiğin büyük kısmını taşıyorsa (ör. büyük bir kiracı, NAT arkasındaki bir kurum).
- Sunucular sık eklenip çıkarılıyorsa ya da health check'te sık düşüp geri geliyorsa ve istemcilerin yer değiştirmesi istenmiyorsa.
TR7'de
- Görünme koşulu: vService → Details → LB Algorithm kutusu işaretlenir ve Algorithm listesinden "(Self-persistent)" işaretli bir algoritma seçilir; Hash Consistency anahtarı algoritmaya özgü alanların altında görünür. Self-persistent olmayan bir algoritma ya da Network vService seçiliyken bu anahtar görünmez.
- Varsayılan: Kapalı.
- Kaydetme: Save ile kaydedilir. Cluster kurulumunda varsayılan auto-sync ile değişiklik eş cihaza da gönderilir; Manual Sync Mode açıksa Synchronize ile elle gönderilir.
- İzleme: Anahtar açıksa vService'in Load Balancer Management ekranındaki LB Algorithm bölümünde "Hash consistency is on" satırı ve altında "Prevents overload of backend services due to hash algorithm persistency" açıklaması görünür.
Sık Karıştırılan Noktalar
- "Hash consistency kalıcılığı kesinleştirir." Tersine, yük sınırı aşıldığında bazı istemcileri başka sunucuya kaydırır.
- "Her algoritmada görünür." Yalnızca self-persistent algoritmalarda görünür.
- "Persistence → Hash ile aynı şeydir." Persistence → Hash, eşlemeyi bir tabloda tutan ayrı bir kalıcılık yöntemidir ve self-persistent olmayan algoritmalarla kullanılır; Hash consistency ise self-persistent algoritmaların hash'i sunuculara nasıl eşlediğini değiştirir.
Dokümantasyonda nasıl yapılır
