Yan yana
Reverse ProxyvsYük Dengeleyici
Ters proxy (reverse proxy) ile yük dengeleyici (load balancer) arasındaki fark nedir?
Güncellendi 2 dk okuma6 fark
Kısaca
Ters proxy, istekleri arkasındaki sunuculara iletir ve TLS, önbellek, güvenlik ekler; yük dengeleyici ise yükü dağıtır, hiçbir sunucu aşırı yüklenmez.
Reverse Proxy
Reverse proxy, web sunucularının önünde durup istemci isteklerini onlar adına kabul eden ve her isteği doğru arka uç sunucuya ileten bir sunucudur.
Reverse Proxy sayfasını okuYük Dengeleyici
Yük dengeleyici, gelen trafiği birkaç arka uç sunucuya dağıtan bir sunucu ya da hizmettir; hiçbir sunucu aşırı yüklenmez ve uygulama erişilebilir kalır.
Yük Dengeleyici sayfasını okuReverse Proxy ve Yük Dengeleyici karşılaştırması
| Özellik | Reverse Proxy | Yük Dengeleyici |
|---|---|---|
| Ana iş | Arka uç sunucular için tek ön kapı olmak | Trafiği birden çok sunucuya yaymak |
| Arka uç sayısı | Tek bir tane olsa bile yararlı | İki ya da daha fazla sunucudan oluşan bir havuz gerekir |
| Ağ katmanı | 7. katman: HTTP'yi anlar | 4. katman (TCP/UDP) ya da 7. katman (HTTP) |
| Tipik özellikler | TLS sonlandırma, önbellekleme, sıkıştırma, URL yönlendirme | Sağlık denetimleri, dengeleme algoritmaları, yapışkan oturumlar (sticky session), yük devretme |
| Güvenlik rolü | Arka uçları gizler, istekleri filtreler, hız sınırlarını uygular | Başarısız sunucuları çıkarır ve arka uç adreslerini gizler |
| Kapsam | Genellikle tek bir site ya da bir servis grubu | Sunucuları, erişilebilirlik bölgelerini ya da bölgeleri kapsayabilir |
Fark, açıklamalı
Ters proxy, bir ya da daha fazla arka uç sunucu adına istemcilerden istek kabul eden, onları ileten ve yanıtları geri döndüren bir sunucudur; böylece istemciler arka uçlarla doğrudan konuşmaz. Yük dengeleyici ise gelen trafiği round robin ya da en az bağlantı gibi bir algoritmayla bir sunucu havuzuna dağıtır ve sağlıksız sunucuları havuzdan çıkarır.
Fark, ana amaçlarındadır. Ters proxy ön kapıdır: TLS'i sonlandırır, yanıtları önbelleğe alır ve sıkıştırır, URL'leri yeniden yazar, /api ve /app gibi yolları farklı servislere yönlendirir ve iç ağı gizler. Yük dengeleyici ise dağıtım ve erişilebilirlik ile ilgilidir: yalnızca işi paylaşacak birden çok sunucu olduğunda anlam taşır ve 4. katmanda (TCP ve UDP) ya da 7. katmanda (HTTP) çalışabilir.
Pratikte roller büyük ölçüde örtüşür. Çoğu ters proxy sunucusu yük de dengeleyebilir ve her 7. katman yük dengeleyici bir tür ters proxy'dir; bu yüzden tek bir bileşen çoğu zaman iki işi de yapar. Yaygın bir kurulum, uçta bir 4. katman yük dengeleyici koyar; bu, trafiği isteklerini uygulama sunucularına yönlendiren birkaç ters proxy'ye yayar.
Sık yapılan bir yanlış, ters proxy'nin yalnızca çok sayıda sunucuyla işe yaradığı düşüncesidir. Tek bir arka uçla bile TLS, önbellekleme, hız sınırlama ve koruma ekler. Öbür yönde, 4. katman bir yük dengeleyici HTTP'yi hiç okumaz; bu yüzden URL'ye göre yönlendiremez ya da yanıtları önbelleğe alamaz.
Hangisini kullanmalısınız?
Reverse Proxy şu durumlarda doğru seçim:
- Bir uygulamanın önünde TLS, önbellekleme veya sıkıştırmaya ihtiyacınız var.
- Farklı URL yollarını farklı servislere yönlendirmek istiyorsunuz.
- Tek bir arka ucunuz var ama onu gizleyip korumak istiyorsunuz.
Yük Dengeleyici şu durumlarda doğru seçim:
- Trafik tek bir sunucunun kaldırabileceğinden fazla.
- Tek tek sunucular bozulduğunda bile servis ayakta kalmalı.
- Veritabanı ya da oyun bağlantıları gibi HTTP olmayan trafiği dengeliyorsunuz.
Sık sorulan sorular
Yük dengeleyici bir ters proxy midir?
7. katman bir yük dengeleyici, istemci isteklerini alıp arka uçlara ilettiği için bir tür ters proxy'dir. 4. katman bir yük dengeleyici ise yalnızca ağ bağlantılarını iletir ve HTTP'yi incelemez.
Tek bir sunucu hem ters proxy hem yük dengeleyici olabilir mi?
Evet. Çoğu modern ters proxy sunucusu trafiği birkaç arka uca yayabilir; bu yüzden küçük ve orta ölçekli sistemler çoğu zaman iki rol için tek bir bileşen kullanır.
Ters proxy ile ileri proxy arasındaki fark nedir?
İleri proxy, internete uzanan istemciler adına hareket eder; ters proxy ise internetten trafik alan sunucular adına hareket eder.