Merhaba,

Lattice ismini yeni duydum güzele benziyor denemek lazım.. HTTP Loadbalance işi için biz genellikle işin boyutna göre 3 farklı sistem kullanıyoruz, statik içerik için her zaman CDN kullanıyoruz, yazılım dosyaları sadece N adet sunucuda barınıyor. Gelen ziyaretci sayısına göre de hangi yapıyı kuracağımızı seçiyoruz.

En çok kullandığımız Nginx..
Sytax çok basit, internette dağlar kadar dökümanı mevcut, hem failover hemde cluster yapılarda çalıştırabiliyorsunuz. Özellikle maliyeti düşük giriş seviyesi projeleri yönetenler tercih ediyor..

Ekonomik çözüm arayanlara adi cluster..
Adını biz koyduk :P bildiğimiz dns cluster aynı işi yapan N tane makineye aynı anda N tane A Record girilerek load balance işini dns sunucusuna yaptırıyoruz. Yedeklilik 0, yani sunuculardan biri giderse diğerine insanlar erişinceye kadar TTL süresini bekliyor..

Hitin muazzam fazla oldugu noktalarda etcd ve dns cluster..
Bu noktada çok fazla sunucu varsa bunları ana bir loadbalancer da tutmak yerine dns de cluster yaparak down olan sunucunun IP adresini uygun en iyi sunucuda UP ederek dns tabanlı cluster kuruyoruz. Adi cluster dan farklı IP adresi farklı bir sunucuda UP oldugundan ziyaretci sayfayı kapalı görmüyor.

Herşeyden önce bu işleri yaparken kullanılan script ve müşterinin bilgili bir yazılımcısı olması şart. Mesela bilindik bir framework yok ise arka planda session normal tmp tarzı bir yere dosya halinde yazılıyorsa bunların her sunucuda senkron çalıştırılması için glusterfs tarzı uygulamalar kullanmak gerekiyor. Bunları yapmadan aslında session için tepede bir Redis kurulup sessionların burada tutulması işleri oldukça kolaylaştırdıgı gibi hız da mühtiş fark etmekte.

Bu tür yapılarda configurasyonu ansible playbook yazarak yapıyoruz, yeni sunucu devreye almak ise sistem kurulu ise bir kaç dakika sürüyor. Özellikle kritk işlerde anlık olarak sistemi büyütebiliyoruz.

İşin strest testi için arka planda bir çok sunucuya kurdugumuz yazılım da http://locust.io/ bununla botlar yazarak gerçek bir insan gibi bir çok sunucudan ön görülen hitin sisteme gelmesi ile olabilecekleri önden test ediyoruz.