Wolkra yük balanslaşdırıcısı daxil olan trafiki bir neçə server arasında paylayır və onu yalnız sağlamlıq yoxlamalarından keçən hədəflərə göndərir. O, layer 4 (TCP) və HTTP xidmətlərini dəstəkləyir; hədəflər serverlər, etiket seçiciləri və ya IP ünvanları ola bilər, o cümlədən yalnız şəxsi şəbəkədə olan serverlər.
Nə vaxt lazımdır
- Tutum və ya ehtiyat üçün iki və ya daha çox tətbiq serveri.
- Dayanmasız deploy-lar: bir serveri çıxarın, yeniləyin, geri qaytarın.
- Şəxsi serverlərin qarşısında bir sabit ictimai giriş nöqtəsi.
Yük balanslaşdırıcısı yaradın
- Konsolda Load balancers bölməsini açın və Create load balancer seçin.
- Ona ad verin, məsələn
web-lb. - İstəyə bağlı olaraq onu şəxsi şəbəkəyə qoşun ki, yalnız şəxsi şəbəkədə olan serverlərə çata bilsin.
- Xidmətlər (dinlənilən portlar) əlavə edin.
- Hədəflər əlavə edin.
- Sağlamlıq yoxlamalarını tənzimləyin.
- Yaradın. Təsdiqləməzdən əvvəl konsol qiyməti göstərir.
Xidmətlər
Xidmət yük balanslaşdırıcısındakı portu hədəflərdəki porta uyğunlaşdırır.
| Növ | Nə üçün | Nümunə |
|---|---|---|
| TCP (layer 4) | istənilən TCP protokolu, TLS passthrough | 443 → 443 |
| HTTP | adi HTTP tətbiqləri | 80 → 8080 |
Hər dinlənilən port üçün bir xidmət əlavə edin.
Hədəflər
- Serverlər: ayrı-ayrı serverləri seçin.
- Etiket seçiciləri: məsələn
role=web. Bu etiketi olan yeni serverlər avtomatik qoşulur, etiketi itirən serverlər isə çıxır. Bu, snapshot-dan və ya API vasitəsilə yaratdığınız serverlərlə yaxşı işləyir. - IP ünvanları: ünvanla müəyyən olunan backend-lər üçün.
Yük balanslaşdırıcısı şəxsi şəbəkəyə qoşulduqda hədəflərə onların şəxsi ünvanları üzərindən çatır, buna görə hədəflərə ümumiyyətlə ictimai IP lazım deyil.
Sağlamlıq yoxlamaları
Sağlamlıq yoxlaması hədəfin trafik alıb-almayacağını müəyyən edir. Tənzimləyin:
- Protokol: TCP (port qoşulmaları qəbul edir) və ya HTTP (yol uğurlu status qaytarır).
- Port və HTTP üçün
/healthzkimi yol. - İnterval, timeout və təkrar cəhdlər.
Caddy arxasında minimal sağlamlıq endpoint-i:
:8080 {
respond /healthz "ok" 200
reverse_proxy localhost:3000
}
Sağlamlıq yoxlaması real hazırlığı əks etdirsin. Tətbiqə verilənlər bazası lazımdırsa, verilənlər bazası işləmədikdə /healthz uğursuz olsun ki, trafik sağlam serverə keçsin.
HTTPS
HTTPS üçün 443 portunda TCP xidməti əlavə edin və TLS-i serverlərin özündə, məsələn Caddy ilə sonlandırın. Bu halda hər serverə sertifikat lazımdır; Caddy onu avtomatik ala bilər və ya siz onu serverlər arasında paylaşa bilərsiniz. Sertifikat yoxlamaları və yönləndirmələr serverlərə çatsın deyə 80 portunda TCP və ya HTTP xidməti əlavə edin. Caddy bələdçisi server tərəfini, o cümlədən ötürülən başlıqlara etibar etməyi əhatə edir.
Firewall-lar
Hədəflərdə tətbiq portuna yalnız yük balanslaşdırıcısının qoşulduğu yerdən icazə verin: o, şəxsi şəbəkəyə qoşulubsa, həmin şəbəkənin diapazonundan. SSH-i həmişəki kimi məhdud saxlayın. Bax: firewall-lar.
Dayanmadan deploy
- Serverin etiketini (və ya serveri) hədəflərdən çıxarın, yaxud onun sağlamlıq yoxlamasından qəsdən keçməməsinə imkan verin.
- Mövcud qoşulmaların bitməsini gözləyin.
- Tətbiqi yeniləyin və yenidən işə salın.
- Etiketi bərpa edin və sağlamlıq yoxlamasından keçməsini gözləyin.
- Növbəti server üçün təkrarlayın.
İşlədiyini yoxlayın
for i in $(seq 1 6); do curl -s http://203.0.113.20/whoami; echo; done # nümunə ünvan
Hər server /whoami sorğusuna öz hostname-i ilə cavab verirsə, cavabların növbələşdiyini görəcəksiniz.
Hesablama
Yük balanslaşdırıcıları serverlər kimi hər başlanmış saat üçün hesablanır və aylıq qiymətlə məhdudlaşır. Onlardan keçən trafik ölçülmür. Bax: qiymətlər.
API
Yük balanslaşdırıcıları https://api.wolkra.com/v1/load_balancers ünvanında əlçatandır. Bax: API tokenləri.
Məhsul səhifəsində daha çox məlumat: yük balanslaşdırıcıları.
Tez-tez verilən suallar
Yük balanslaşdırıcısı hansı növ trafiki emal edə bilər?
İstənilən protokol üçün layer 4 (TCP) xidmətləri və HTTP xidmətləri. Hər ikisi trafiki yalnız sağlam hədəflərə göndərmək üçün sağlamlıq yoxlamalarından istifadə edir.
Hədəflər ictimai IP-si olmayan serverlər ola bilərmi?
Bəli. Yük balanslaşdırıcısını eyni şəxsi şəbəkəyə qoşun, o, yalnız şəxsi şəbəkədə olan serverlərə həmin şəbəkə üzərindən çatacaq.
Yeni serverləri avtomatik necə əlavə edim?
Hədəf kimi etiket seçicisindən istifadə edin, məsələn role=web. Bu etiketi olan hər server yarandığı anda hədəfə çevrilir.
HTTPS harada sonlanır?
Sadə yanaşma 443 portunda TLS-i serverlərinizə ötürən TCP xidmətidir; sertifikatlar isə serverlərdə Caddy və ya başqa proxy tərəfindən saxlanılır.