Middle
Hangi yük dengeleme cihazlarını biliyorsunuz? Onlarla çalışma deneyiminiz nedir ve hangi teknolojileri kullandınız?
sobes.tech yapay zeka
AI'dan gelen yanıt
Bilinen aşağıdaki yük dengeleme türleri vardır:
- Donanım Yük Dengeleyicileri (Hardware Load Balancers): Özelleştirilmiş cihazlar. Örnek: F5 BIG-IP.
- Yazılım Yük Dengeleyicileri (Software Load Balancers): Yazılım olarak çalışır. Örnekler: HAProxy, Nginx, AWS Elastic Load Balancing (ELB), Google Cloud Load Balancing, Azure Load Balancer.
HAProxy ve Nginx ile yazılım yük dengeleme cihazları olarak çalışmak ve AWS ELB (Application Load Balancer ve Network Load Balancer) gibi bulut çözümleriyle çalışmak konusunda deneyimim var.
HAProxy:
- TCP ve HTTP trafiğini dengelemek için kullanıldı.
- Yapılandırmalar konfigürasyon dosyaları aracılığıyla yapıldı.
- Kullanıldı:
- HTTP isteklerini web sunucuları arasında dağıtmak.
- Veritabanlarının yüksek erişilebilirliğini sağlamak (TCP trafiği).
- Uygulandı:
- Dengeleme algoritmaları (round-robin, leastconn).
- Sunucu sağlık kontrolleri.
- SSL sonlandırma.
# HAProxy yapılandırma örneği
global
log /dev/log local0
chroot /var/lib/haproxy
stats socket /run/haproxy/admin.sock mode 660 level admin expose-fd listeners
stats timeout 30s
user haproxy
group haproxy
daemon
defaults
log global
mode http # veya tcp
option httplog
option dontlognull
timeout connect 5000ms
timeout client 50000ms
timeout server 50000ms
errorfile 400 /etc/haproxy/errors/400.http
errorfile 403 /etc/haproxy/errors/403.http
errorfile 408 /etc/haproxy/errors/408.http
errorfile 500 /etc/haproxy/errors/500.http
errorfile 502 /etc/haproxy/errors/502.http
errorfile 503 /etc/haproxy/errors/503.http
errorfile 504 /etc/haproxy/errors/504.http
frontend http_front
bind *:80
default_backend http_back
backend http_back
balance roundrobin # Dengeleme algoritması
server s1 192.168.1.10:80 check # Sağlık kontrolü ile sunucu 1
server s2 192.168.1.11:80 check # Sağlık kontrolü ile sunucu 2
Nginx:
- Reverse proxy ve HTTP(S) trafik dengeleme olarak kullanıldı.
- Yapılandırma
nginx.confveya dahil edilen dosyalarda yapıldı. - Kullanıldı:
- Web sunucuları ve mikroservisler arasında yük dağılımı.
- Önbellekleme, sıkıştırma, SSL sonlandırma.
- Uygulandı:
- Çeşitli dengeleme yöntemleri (round-robin, least_conn, ip_hash).
- Sağlık kontrolleri (Ticari sürümde Nginx Plus veya modüllerle).
- Sanal ana bilgisayar yapılandırması.
# Nginx yapılandırma örneği
http {
upstream backend_servers {
server 192.168.1.20:8080 weight=1; # Sunucu 1
server 192.168.1.21:8080 weight=1; # Sunucu 2
# least_conn; # Diğer dengeleme yöntemi
}
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://backend_servers; # Sunucu grubuna proxy
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
# Diğer proxy ayarları
}
}
}
AWS ELB:
- Application Load Balancer (ALB): HTTP/HTTPS trafiğini dengelemek için kullanılır. L7 seviyesinde.
- URL, başlıklar ve HTTP metodlarına göre yönlendirme.
- Auto Scaling Grupları ile entegrasyon.
- SSL terminasyonu, Web Uygulama Güvenlik Duvarı (WAF).
- Network Load Balancer (NLB): TCP/UDP trafiğini L4 seviyesinde dengelemek için kullanılır.
- Yüksek performans ve düşük gecikme.
- Veritabanları, oyun sunucuları ve diğer gecikmeye duyarlı uygulamalara trafik dengelemede kullanılır.
Deneyim, Listeners, Target Groups, sağlık kontrolleri yapılandırması ve diğer AWS hizmetleriyle entegrasyonları içeriyordu. AWS Management Console, AWS CLI ve Terraform kullanılarak yapıldı.
Teknolojiler:
- Yapılandırma: Dosyaların manuel düzenlenmesi, Ansible, Chef, Puppet.
- İnşaat olarak kod: Terraform, bulutta otomatik dağıtım ve yönetim.
- İzleme: Prometheus, Grafana ve exporterlar veya CloudWatch ile AWS ELB.
- CIDI: CI/CD boru hatlarında yapılandırma ve yük dengeleme ayarlarının entegrasyonu.
Genel olarak, yük dengeleme cihazı seçimi uygulama gereksinimleri (trafik tipi, performans, fonksiyonellik), altyapı (bulut veya yerinde) ve bütçeye bağlıydı.