
Ö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.
Leave a Comment