Haproxy เชฎเชพเชŸเซ‡ เชตเซ‡เชฌ-GUI เชฒเช–เชตเชพเชจเซเช‚ เช†เช•เชธเซเชฎเชฟเช• เชฐเซ€เชคเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชšเชพเชฒเซ เชฐเชพเช–เชตเซเช‚

เชฎเชจเซ‡ เชฒเช–เซเชฏเชพเชจเซ‡ เชฌเซ‡ เชตเชฐเซเชท เช…เชจเซ‡ 4 เชฆเชฟเชตเชธ เชฅเชฏเชพ เช›เซ‡ Haproxy เชฎเชพเชŸเซ‡ เช†เช•เชธเซเชฎเชฟเช• เชฐเซ€เชคเซ‡ เชตเซ‡เชฌ-GUI เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฒเช–เชตเซเช‚, เชชเชฐเช‚เชคเซ เชตเชธเซเชคเซเช“ เชฒเชพเช‚เชฌเชพ เชธเชฎเชฏเชฅเซ€ เชคเซเชฏเชพเช‚ เชจเชฅเซ€ - เชฌเชงเซเช‚ เชฌเชฆเชฒเชพเชˆ เชฐเชนเซเชฏเซเช‚ เช›เซ‡ เช…เชจเซ‡ เชตเชฟเช•เชพเชธเชถเซ€เชฒ เช›เซ‡, เช…เชจเซ‡ HAProxy-WI เช† เชตเชฒเชฃเชจเซ‡ เชšเชพเชฒเซ เชฐเชพเช–เชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡. เชฌเซ‡ เชตเชฐเซเชทเชฎเชพเช‚ เช˜เชฃเซเช‚ เช•เชพเชฎ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡, เช…เชจเซ‡ เชนเซเช‚ เชนเชตเซ‡ เชฎเซเช–เซเชฏ เชซเซ‡เชฐเชซเชพเชฐเซ‹ เชตเชฟเชถเซ‡ เชตเชพเชค เช•เชฐเชตเชพ เชฎเชพเช‚เช—เซ เช›เซเช‚, เชคเซ‡เชฅเซ€: "เชฌเชฟเชฒเชพเชกเซ€" เชฎเชพเช‚ เช†เชชเชจเซเช‚ เชธเซเชตเชพเช—เชค เช›เซ‡.

Haproxy เชฎเชพเชŸเซ‡ เชตเซ‡เชฌ-GUI เชฒเช–เชตเชพเชจเซเช‚ เช†เช•เชธเซเชฎเชฟเช• เชฐเซ€เชคเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชšเชพเชฒเซ เชฐเชพเช–เชตเซเช‚

1. เชนเซเช‚ เชคเชฎเชพเชฐเซ€ เช†เช‚เช–เชจเซ‡ เช†เช•เชฐเซเชทเชฟเชค เช•เชฐเชคเซ€ เชชเซเชฐเชฅเชฎ เชตเชธเซเชคเซเชฅเซ€ เชชเซเชฐเชพเชฐเช‚เชญ เช•เชฐเซ€เชถ, เช…เชจเซ‡ เช†, เช…เชฒเชฌเชคเซเชค, เชกเชฟเชเชพเช‡เชจ เช›เซ‡. เชฎเชพเชฐเชพ เชฎเชคเซ‡, เชฌเชงเซเช‚ เชตเชงเซ เชคเชพเชฐเซเช•เชฟเช•, เชธเชฎเชœเซ€ เชถเช•เชพเชฏ เชคเซ‡เชตเซเช‚ เช…เชจเซ‡ เช…เชจเซเช•เซ‚เชณ เชฌเชจเซเชฏเซเช‚ เช›เซ‡, เช…เชจเซ‡ เช…เชฒเชฌเชคเซเชค เชธเซเช‚เชฆเชฐ :). เชฎเซ‡เชจเซ เชตเชฟเชญเชพเช—เซ‹ เชตเชงเซ เชธเช‚เชฐเชšเชฟเชค เชฌเชจเซ€ เช—เชฏเชพ เช›เซ‡.

2. เชฆเชฐเซ‡เช• เชธเชฐเซเชตเชฐ เชฎเชพเชŸเซ‡ เชชเซƒเชทเซเช เซ‹ เชฆเซ‡เช–เชพเชฏเชพ เช›เซ‡, เชœเซ‡ เชตเซเชฏเช•เซเชคเชฟเช—เชค เชธเซ‡เชตเชพเช“เชจเชพ เชธเช‚เชšเชพเชฒเชจเชจเซ‡ เชธเชฎเชœเชตเชพ เชฎเชพเชŸเซ‡ เช…เชจเซเช•เซ‚เชณ เช›เซ‡. เชคเซ‡ เช†เชจเชพ เชœเซ‡เชตเซเช‚ เชฆเซ‡เช–เชพเชฏ เช›เซ‡:

Haproxy เชฎเชพเชŸเซ‡ เชตเซ‡เชฌ-GUI เชฒเช–เชตเชพเชจเซเช‚ เช†เช•เชธเซเชฎเชฟเช• เชฐเซ€เชคเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชšเชพเชฒเซ เชฐเชพเช–เชตเซเช‚

3. Nginx เชธเชชเซ‹เชฐเซเชŸ เชนเชตเซ‡ เช‰เชชเชฒเชฌเซเชง เช›เซ‡! เช•เชฎเชจเชธเซ€เชฌเซ‡, Nginx เชจเชพ เชฎเชซเชค เชธเช‚เชธเซเช•เชฐเชฃเชฎเชพเช‚ เชคเชฎเชพเชฐเชพ เช†เช‚เช•เชกเชพ เชชเซเชฐเชฆเชฐเซเชถเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡เชจเซ€ เชจเชฌเชณเซ€ เช•เซเชทเชฎเชคเชพเช“เชจเซ‡ เช•เชพเชฐเชฃเซ‡ HAProxy เชœเซ‡เชตเซเช‚ เชœ เชธเช‚เช•เชฒเชฟเชค เช•เชฐเชตเซเช‚ เชถเช•เซเชฏ เชจเชนเซ‹เชคเซเช‚, เชชเชฐเช‚เชคเซ HAProxy-WI เชจเชพ เชฎเซเช–เซเชฏ เช•เชพเชฐเซเชฏเซ‹ (เชธเช‚เชชเชพเชฆเชจ, เชธเชฐเช–เชพเชฎเชฃเซ€ เช…เชจเซ‡ เชธเช‚เชธเซเช•เชฐเชฃ, เชฐเซ‚เชชเชฐเซ‡เช–เชพเช“เชจเซเช‚ เชธเช‚เชšเชพเชฒเชจ เช…เชจเซ‡ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเชตเซเช‚) เช›เซ‡. Nginx เชฎเชพเชŸเซ‡ เชนเชœเซ เชชเชฃ เช‰เชชเชฒเชฌเซเชง เช›เซ‡.

Haproxy เชฎเชพเชŸเซ‡ เชตเซ‡เชฌ-GUI เชฒเช–เชตเชพเชจเซเช‚ เช†เช•เชธเซเชฎเชฟเช• เชฐเซ€เชคเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชšเชพเชฒเซ เชฐเชพเช–เชตเซเช‚

4. เชคเชฎเซ‡ HAProxy เช…เชจเซ‡ Nginx เชฎเชพเชŸเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃ เชฎเซ‹เชจเชฟเชŸเชฐเชฟเช‚เช— เช—เซ‹เช เชตเซ€ เชถเช•เซ‹ เช›เซ‹! เชคเซ‡ เชธเชฎเชพเชตเซ‡ เช›เซ‡: Grafana, Prometheus เช…เชจเซ‡ Nginx เช…เชจเซ‡ HAProxy เชจเชฟเช•เชพเชธเช•เชพเชฐเซ‹. เชฅเซ‹เชกเชพ เช•เซเชฒเชฟเช•เซเชธ เช…เชจเซ‡ เชกเซ‡เชถเชฌเซ‹เชฐเซเชกเซเชธเชฎเชพเช‚ เช†เชชเชจเซเช‚ เชธเซเชตเชพเช—เชค เช›เซ‡!

5. เช…เช—เชพเช‰เชจเซ€ เชชเซ‹เชธเซเชŸ เชชเชฐเชจเซ€ เชŸเชฟเชชเซเชชเชฃเซ€เช“เชฎเชพเช‚, เชฎเชจเซ‡ เช˜เชฃเซ€ เชตเช–เชค เช•เชนเซ‡เชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เชนเชคเซเช‚ เช•เซ‡ เชธเซ‡เชตเชพเช“ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฌเซ‡เชถ เชธเซเช•เซเชฐเชฟเชชเซเชŸเซเชธเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเซ‹ เช เชคเชฎเชพเชฐเชพ เชชเช—เชฎเชพเช‚ เช—เซ‹เชณเซ€เชฌเชพเชฐ เช›เซ‡. เชนเซเช‚ เชคเซ‡เชฎเชจเซ€ เชธเชพเชฅเซ‡ เชธเช‚เชฎเชค เช›เซเช‚ เช…เชจเซ‡ เชคเซ‡เชฅเซ€ เชœ เชนเชตเซ‡ เชคเชฎเชพเชฎ เช‡เชจเซเชธเซเชŸเซ‹เชฒเซ‡เชถเชจเชฎเชพเช‚เชฅเซ€ 95% เชเชจเซเชธเชฟเชฌเชฒเชฎเชพเช‚เชฅเซ€ เชชเชธเชพเชฐ เชฅเชพเชฏ เช›เซ‡. เช–เชฐเซ‡เช–เชฐ เช…เชจเซเช•เซ‚เชณ, เช…เชจเซ‡ เชคเซ‡ เชชเชฃ เชตเชงเซ เชตเชฟเชถเซเชตเชธเชจเซ€เชฏ. เชšเชพเชฐเซ‡ เชฌเชพเชœเซ เชเช• เชธเช•เชพเชฐเชพเชคเซเชฎเช•!

6. เชคเชฎเซ‡ เชธเชพเชฏเช•เชฒเชจเซ€ เช…เช‚เชฆเชฐ เชธเชพเชฏเช•เชฒเชจเซ‡ เชซเชฐเซ€เชฅเซ€ เชถเซ‹เชงเชตเชพเชจเซเช‚ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชŸเชพเชณเซ€ เชถเช•เซ‹? เชธเชพเชฏเช•เชฒเชจเซเช‚ เชฌเชพเชณเช•, เชคเซ‡เชฅเซ€ เชฌเซ‹เชฒเชตเชพ เชฎเชพเชŸเซ‡... เชเช• เชจเชพเชจเซ€ เชธเชพเชฏเช•เชฒ เชธเชพเชฏเช•เชฒ, เช•เชฆเชพเชš เชคเซเชฐเชฃ เชชเซˆเชกเชพเชตเชพเชณเซ€: เชชเซ‹เชฐเซเชŸเชจเซ€ เช‰เชชเชฒเชฌเซเชงเชคเชพ, HTTP เชชเซเชฐเชคเชฟเชธเชพเชฆ เชฎเชพเชŸเซ‡ เชชเซ‹เชฐเซเชŸเซเชธเชจเซ‡ เชฎเซ‹เชจเชฟเชŸเชฐ เช•เชฐเชตเชพเชจเซ€ เช•เซเชทเชฎเชคเชพ เช…เชจเซ‡ เช•เซ€เชตเชฐเซเชก เชฆเซเชตเชพเชฐเชพ เชชเซเชฐเชคเชฟเชญเชพเชต เชคเชชเชพเชธเชตเชพเชจเซ€ เช•เซเชทเชฎเชคเชพ. เชนเชพ, เชคเซเชฏเชพเช‚ เช˜เชฃเชพ เช•เชพเชฐเซเชฏเซ‹ เชจเชฅเซ€, เชชเชฐเช‚เชคเซ เชคเซ‡เชจเซ‡ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช…เชจเซ‡ เชธเช‚เชšเชพเชฒเชฟเชค เช•เชฐเชตเซเช‚ เชธเชฐเชณ เช›เซ‡ :)

Haproxy เชฎเชพเชŸเซ‡ เชตเซ‡เชฌ-GUI เชฒเช–เชตเชพเชจเซเช‚ เช†เช•เชธเซเชฎเชฟเช• เชฐเซ€เชคเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชšเชพเชฒเซ เชฐเชพเช–เชตเซเช‚

7. HAProxy RunTime API เชธเชพเชฅเซ‡ เช–เซ‚เชฌ เชœ เชธเชฐเชธ เช•เชพเชฎ. เชถเชพ เชฎเชพเชŸเซ‡ เช†เชŸเชฒเซ€ เช เช‚เชกเซ€? เชซเช•เซเชค เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชเช• เช›เซ‡ เช…เชจเซ‡... เช•เชฆเชพเชš เชฌเซ€เชœเชพ เชฌเชงเชพ. เช–เชพเชคเชฐเซ€ เช•เชฐเซ‹ เช•เซ‡ เชคเซ‡ เชฅเซ‹เชกเซเช‚ เชถเซ‡เช–เซ€เช–เซ‹เชฐ เชฒเชพเช—เซ‡ เช›เซ‡, เชชเชฐเช‚เชคเซ เชฎเชจเซ‡ เชคเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฐเซเชฏ เช•เชฐเซ‡ เช›เซ‡ เชคเซ‡ เช–เชฐเซ‡เช–เชฐ เช—เชฎเซ‡ เช›เซ‡. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เช˜เชฃเชพ เชชเซเชฐเชฟเชฏ เช…เชจเซ‡ เชจเชซเชฐเชคเชตเชพเชณเชพ เชธเซเชŸเซ€เช•-เชŸเซ‡เชฌเชฒเซ‹ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเซเช‚ เช•เซ‡เชตเซเช‚ เชฆเซ‡เช–เชพเชฏ เช›เซ‡:

Haproxy เชฎเชพเชŸเซ‡ เชตเซ‡เชฌ-GUI เชฒเช–เชตเชพเชจเซเช‚ เช†เช•เชธเซเชฎเชฟเช• เชฐเซ€เชคเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชšเชพเชฒเซ เชฐเชพเช–เชตเซเช‚

เช•เชฆเชพเชš เชฌเชงเชพ เชฎเซเช–เซเชฏ. เชœเซ‚เชฅเซ‹, เชญเซ‚เชฎเชฟเช•เชพเช“, เชธเซเชฐเช•เซเชทเชพ เช…เชจเซ‡ เชฌเช— เชกเชฟเชŸเซ‡เช•เซเชถเชจ เชธเช‚เชฌเช‚เชงเชฟเชค เช˜เชฃเซเช‚ เช•เชพเชฎ เชนเชคเซเช‚... เชชเชฐเช‚เชคเซ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡, เชคเชฎเซ‡ เชœเชพเชฃเซ‹ เช›เซ‹ เชถเซเช‚? เชนเชตเซ‡ เชเช• เชตเซ‡เชฌเชธเชพเช‡เชŸ เช›เซ‡, เชœเซเชฏเชพเช‚ HAProxy-WI เชจเซ‹ เชกเซ‡เชฎเซ‹ เช›เซ‡ เช…เชจเซ‡ เชคเชฎเซ‡ เชฌเชงเซเช‚ เชœเชพเชคเซ‡ เช…เชœเชฎเชพเชตเซ€ เชถเช•เซ‹ เช›เซ‹ เช…เชจเซ‡ เชœเซเชฏเชพเช‚ เชšเซ‡เชจเซเชœเชฒเซ‹เช— เช›เซ‡. เช•เซƒเชชเชพ เช•เชฐเซ€เชจเซ‡ เชซเช•เซเชค "เชนเซ‡เชฌเซเชฐเซ‹ เช‡เชซเซ‡เช•เซเชŸ" เชจเซ€ เชœเชฐเซ‚เชฐ เชจเชฅเซ€, เช…เชจเซเชฏเชฅเชพ เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชธเชพเช‡เชŸ เช…เชจเซ‡ เชกเซ‡เชฎเซ‹ เชฎเชพเชŸเซ‡ เชจเชฌเชณเซเช‚ เชธเชฐเซเชตเชฐ เช›เซ‡. เช…เชจเซ‡ เชเช• เชฒเชฟเช‚เช• GitHub

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹