Anasayfa » HAProxy ile Elasticsearch Yük Dengeleme

HAProxy ile Elasticsearch Yük Dengeleme

HAProxy-ile-Elasticsearch-Yuk-Dengeleme

Önceki yazılarımızda Elasticsearch 8.11.1 versiyonu kurulum ve yapılandırmasını yapmıştık eğer sizin Elasticsearch clusterına sahip değilseniz Elasticsearch kurulum rehberimizden faydalanıp sahip olabilirsiniz ve veri sorgularını birden fazla node’a dağıtmak istiyorsanız, yüksek erişilebilirlik ve yük dengeleme için HAProxy kullanabilirsiniz. HAProxy ile Elasticsearch Yük Dengeleme, HAProxy kurulumu, temel konfigürasyon ayarları ve Elasticsearch node’ları arasında load balancing işleminin adım adım nasıl yapılacağını detaylı şekilde beraber yapacağız.

HAProxy Nedir?

HAProxy (High Availability Proxy), yüksek performanslı TCP/HTTP yük dengeleyici ve proxy sunucusudur. Büyük ölçekli sistemlerde servis trafiğini birden fazla sunucuya dağıtarak performansı artırır, sistemin sürekliliğini sağlar ve hata toleransı kazandırır.

HAProxy Kurulumu

İlk adım olarak, sisteminize HAProxy’yi kurmamız gerekiyor. Debian/Ubuntu tabanlı sistemlerde aşağıdaki komut ile kurulumu yapabilirsiniz.

apt install -y haproxy

HAProxy Yapılandırma Dosyası

Kurulumdan sonra, yapılandırma dosyasını düzenlememiz gerekiyor:

nano /etc/haproxy/haproxy.cfg

Aşağıda örnek bir yapılandırma içeriği yer almaktadır. Bu yapılandırma ile 3 farklı Elasticsearch sunucusu arasında yük dengelemesi yapılmaktadır:

global
    log /dev/log local0
    log /dev/log local1 notice
    maxconn 200

defaults
    log     global
    option  httplog
    timeout connect 5000ms
    timeout client  50000ms
    timeout server  50000ms

frontend http_front
    bind *:9200
    mode http
    default_backend elasticsearch_nodes

backend elasticsearch_nodes
    balance roundrobin
    mode http
    server elasticsearch01 192.168.116.155:9200 check ssl verify none
    server elasticsearch02 192.168.116.156:9200 check ssl verify none
    server elasticsearch03 192.168.116.157:9200 check ssl verify none

Açıklamalar:

  • global ve defaults bölümleri: Loglama, maksimum bağlantı sayısı ve zaman aşımı gibi genel ayarları belirler.
  • frontend http_front: Gelen HTTP isteklerini dinleyen ön uç yapılandırmasıdır. *:9200 ifadesi ile tüm IP adreslerinden 9200 portuna gelen istekleri kabul eder.
  • backend elasticsearch_nodes: Arka uç sunucular yani Elasticsearch node’larının listelendiği bölümdür. roundrobin yöntemi ile istekler sırayla node’lara yönlendirilir.
  • check ssl verify none: Elasticsearch HTTPS endpoint’lerine bağlantıyı SSL kontrolü olmadan yapar. (Güvenlik için prod ortamında özelleştirme önerilir.)

HAProxy Servisini Başlatma

Yapılandırma tamamlandıktan sonra, aşağıdaki komutlarla HAProxy servisini yeniden başlatıyoruz:

systemctl daemon-reload

systemctl enable haproxy

systemctl restart haproxy

✅ HAProxy ve Elasticsearch Load Balancing Testi

http://<haproxy_ip>:9200

Her istek yaptığınızda farklı bir Elasticsearch node’dan yanıt alacaksınız (round-robin algoritmasına göre). Böylece yük dengeli bir dağılım gerçekleşir.

Sonuç

Bu yazımızda, HAProxy ile Elasticsearch Yük Dengeleme, haproxy.cfg dosyasının açıklamaları ve servisin nasıl başlatılacağını detaylı olarak inceledik.
HAProxy ile birlikte, Elasticsearch sorgularınız daha dengeli ve verimli çalışacak, özellikle yoğun istek altında sisteminizin kararlılığı artacaktır.

Elasticsearch izleme, alert mekanizmaları ve log yönetimi için Kibana ile entegre kullanım hakkında daha fazla bilgi için Tıklayın
Elasticsearch Kurulum ve Yapılandırması yazımız için Tıklayın.

More Reading

Post navigation

Leave a Comment

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir