Rumah >Tutorial sistem >LINUX >Haproxy di Ubuntu: mengimbangi beban dan failover untuk infrastruktur yang berdaya tahan

Haproxy di Ubuntu: mengimbangi beban dan failover untuk infrastruktur yang berdaya tahan

Joseph Gordon-Levitt
Joseph Gordon-Levittasal
2025-03-05 09:06:11603semak imbas

HAProxy on Ubuntu: Load Balancing and Failover for Resilient Infrastructure

Pengenalan

Dalam persekitaran digital pantas hari ini, memastikan ketersediaan dan prestasi aplikasi adalah kritikal. Infrastruktur moden memerlukan penyelesaian yang kuat untuk memperuntukkan trafik dengan cekap, mengekalkan ketersediaan perkhidmatan walaupun dalam kes kegagalan pelayan.

Haproxy sebagai standard sebenar untuk mengimbangi beban dan failover yang berprestasi tinggi, ia muncul.

Artikel ini meneroka sinergi antara Haproxy dan Ubuntu, salah satu pengagihan Linux yang paling popular. Dari pemasangan ke konfigurasi lanjutan, kami akan menyelam bagaimana HAPROXY dapat mengubah infrastruktur anda dengan keupayaan mengimbangi beban dan failover.

Penjelasan terperinci mengenai pengimbangan beban

mengimbangi beban adalah proses memperuntukkan trafik rangkaian masuk ke beberapa pelayan. Dengan mengimbangi beban, ia memastikan bahawa tidak ada pelayan tunggal yang terharu, dengan itu meningkatkan prestasi, kebolehpercayaan, dan toleransi kesalahan.

Kelebihan utama:

  • Skalabilitas: Latihan lalu lintas yang semakin meningkat dengan menambahkan lebih banyak pelayan.
  • Kebolehpercayaan: Mudah kesan kegagalan pelayan dengan mengarahkan trafik ke pelayan biasa.
  • Prestasi: Kurangkan latensi dengan mengedarkan beban kerja sama rata.

Jenis pengimbangan beban:

  • Lapisan 4 (Lapisan Pengangkutan): Mengedarkan lalu lintas mengikut maklumat IP dan pelabuhan.
  • Lapisan 7 (Lapisan Aplikasi): Buat keputusan penghalaan berdasarkan data peringkat aplikasi (seperti tajuk HTTP).

Konsep failover

Failover memastikan kesinambungan dengan secara automatik mengalihkan trafik ke sumber sandaran sekiranya berlaku kegagalan sumber utama. Ia adalah asas kepada persediaan

yang tinggi (HA) .

dengan haproxy, failover adalah lancar:

    Jika pelayan backend tidak tersedia, Haproxy akan mengesannya melalui pemeriksaan kesihatan.
  • lalu lintas akan dialihkan ke pelayan lain yang tersedia, dengan itu mengekalkan perkhidmatan yang tidak terganggu.

Tetapkan Haproxy di Ubuntu

Mari mulakan dengan memasang dan mengkonfigurasi Haproxy di Ubuntu.

Prasyarat:

    pelayan Ubuntu (disyorkan untuk menggunakan 20.04 atau lebih tinggi).
  • Pelbagai pelayan backend untuk menguji pengimbangan beban.
  • Kemahiran baris perintah Linux asas.

Langkah 1: Pasang Haproxy

    Kemas kini sistem anda:
  1. sudo apt update && sudo apt upgrade -y
  2. Memasang Haproxy:
  3. sudo apt install haproxy -y
  4. Sahkan pemasangan:
  5. haproxy -v

Langkah 2: Konfigurasikan Haproxy EDIT Fail konfigurasi: /etc/haproxy/haproxy.cfg

<code>global
    log /dev/log local0
    log /dev/log local1 notice
    maxconn 2048
    daemon
defaults
    log global
    option httplog
    option dontlognull
    timeout connect 5000ms
    timeout client 50000ms
    timeout server 50000ms
frontend http_front
    bind *:80
    default_backend http_back
backend http_back
    balance roundrobin
    server server1 192.168.1.101:80 check
    server server2 192.168.1.102:80 check</code>
  1. mulakan semula haproxy untuk memohon perubahan: sudo systemctl restart haproxy
  2. ujian dengan mengakses alamat IP pelayan. Haproxy akan memperuntukkan permintaan antara backends.

Konfigurasi lanjutan

algoritma mengimbangi beban:

  • Poll: secara berurutan memperuntukkan permintaan.
  • Bilangan sambungan: diarahkan ke pelayan dengan sambungan yang paling aktif.
  • Sumber: Pastikan pelanggan sentiasa diarahkan ke pelayan yang sama.

Kemas kini arahan balance di backend sewajarnya.

Pemeriksaan Kesihatan: Pemeriksaan kesihatan memastikan lalu lintas dihantar ke pelayan biasa sahaja. check Arahan melakukan pemeriksaan kesihatan biasa.

penamatan SSL: Untuk melindungi lalu lintas, konfigurasikan HAPROXY untuk mengendalikan penamatan SSL.

  1. Dapatkan sijil SSL.
  2. Kemas kini Konfigurasi untuk menggunakan https: frontend https_front bind *:443 ssl crt /etc/haproxy/certs/example.pem default_backend http_back
Senarai Kawalan Akses (ACL):

Trafik penapis menggunakan ACL:

<code>frontend http_front
    acl is_api path_beg /api
    use_backend api_back if is_api</code>
Dayakan ketersediaan tinggi

vrrp dengan terus:

Untuk membolehkan failover, mengintegrasikan terus dengan haproxy.

Memasang Keepalived:
  1. sudo apt install keepalived -y konfigurasi disimpan ():
  2. /etc/keepalived/keepalived.conf
mulakan semula terus:
<code>vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass mypassword
    }
    virtual_ipaddress {
        192.168.1.100
    }
}</code>
  1. sudo systemctl restart keepalived Keepalived memastikan bahawa pelayan sekunder mengambil alih dengan lancar apabila pelayan utama gagal.

Pemantauan dan penalaan prestasi

Panel Statistik Haproxy: Dayakan panel untuk pemantauan masa nyata:

mengaksesnya dalam .

<code>listen stats
    bind *:8404
    stats enable
    stats uri /stats
    stats auth admin:password</code>

Kemahiran Pengoptimuman: http://<server-ip>:8404/stats</server-ip>

Laraskan tetapan dan .

    Gunakan mampatan gzip untuk trafik HTTP.
  • maxconn memantau pengecualian dalam log. timeout
  • Kes pengguna dan senario sebenar

microservices: Menetapkan permintaan API kepada pelbagai perkhidmatan.

  • Aplikasi Web: Mengendalikan pancang lalu lintas dengan memperluaskan pelayan backend.
  • Pengimbangan beban pangkalan data: Mengoptimumkan operasi membaca dan menulis.
  • Penyelesaian masalah Soalan Lazim

Masalah Sambungan:

Periksa peraturan firewall. Sahkan pemeriksaan kesihatan pelayan.

  • Bottleneck prestasi:

Tambahkan ULIMIT deskriptor fail. Mengoptimumkan konfigurasi pelayan backend.

  • Penyelenggaraan:
    • Sentiasa sandaran sandaran.
    • Gunakan kemas kini semasa trafik yang rendah.

    Kesimpulan

    Dengan menggabungkan Haproxy dan Ubuntu, anda mendapat kombinasi yang kuat untuk menguruskan lalu lintas dan memastikan uptime. Dengan langkah -langkah di atas, anda boleh membina infrastruktur yang berdaya tahan yang boleh mengendalikan beban tinggi dan kegagalan pelayan.

    mula mencuba HAPROXY SEKARANG dan buka kunci potensi penuh keupayaan sistem Ubuntu.

Atas ialah kandungan terperinci Haproxy di Ubuntu: mengimbangi beban dan failover untuk infrastruktur yang berdaya tahan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn