Sobes.tech
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.conf veya 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ı.