рдХрд╕рд░реА рдЧрд▓реНрддрд┐рд▓реЗ Haproxy рдХреЛ рд▓рд╛рдЧреА Web-GUI рд▓реЗрдЦреНрди рдЬрд╛рд░реА рд░рд╛рдЦреНрдиреЗ

рдореИрд▓реЗ рд▓реЗрдЦреЗрдХреЛ рджреБрдИ рд╡рд░реНрд╖ рек рджрд┐рди рднрдпреЛ Haproxy рдХреЛ рд▓рд╛рдЧреА рдЧрд▓реНрддрд┐рд▓реЗ рд╡реЗрдм-GUI рдХрд╕рд░реА рд▓реЗрдЦреНрдиреЗ, рддрд░ рдЪреАрдЬрд╣рд░реВ рд▓рд╛рдореЛ рд╕рдордпрджреЗрдЦрд┐ рддреНрдпрд╣рд╛рдБ рдЫреИрдирдиреН - рд╕рдмреИ рдХреБрд░рд╛ рдкрд░рд┐рд╡рд░реНрддрди рд╣реБрдБрджреИрдЫ рд░ рд╡рд┐рдХрд╛рд╕ рднрдЗрд░рд╣реЗрдХреЛ рдЫ, рд░ HAProxy-WI рд▓реЗ рдпреЛ рдкреНрд░рд╡реГрддреНрддрд┐рд▓рд╛рдИ рдирд┐рд░рдиреНрддрд░рддрд╛ рджрд┐рди рдкреНрд░рдпрд╛рд╕ рдЧрд░рд┐рд░рд╣реЗрдХреЛ рдЫред рджреБрдИ рд╡рд░реНрд╖рдорд╛ рдзреЗрд░реИ рдХрд╛рдо рднрдПрдХреЛ рдЫ, рд░ рдо рдЕрд╣рд┐рд▓реЗ рдореБрдЦреНрдп рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рдХреБрд░рд╛ рдЧрд░реНрди рдЪрд╛рд╣рдиреНрдЫреБ, рддреНрдпрд╕реИрд▓реЗ: "рдмрд┐рд░рд╛рд▓реЛ" рдорд╛ рд╕реНрд╡рд╛рдЧрдд рдЫред

рдХрд╕рд░реА рдЧрд▓реНрддрд┐рд▓реЗ Haproxy рдХреЛ рд▓рд╛рдЧреА Web-GUI рд▓реЗрдЦреНрди рдЬрд╛рд░реА рд░рд╛рдЦреНрдиреЗ

1. рдо рддрдкрд╛рдЗрдБрдХреЛ рдЖрдБрдЦрд╛ рд╕рдорд╛рддреНрдиреЗ рдкрд╣рд┐рд▓реЛ рдЪреАрдЬрдХреЛ рд╕рд╛рде рд╕реБрд░реБ рдЧрд░реНрдиреЗрдЫреБ, рд░ рдпреЛ рдкрдХреНрдХреИ рдкрдирд┐ рдбрд┐рдЬрд╛рдЗрди рд╣реЛред рдореЗрд░реЛ рд╡рд┐рдЪрд╛рд░рдорд╛, рд╕рдмреИ рдХреБрд░рд╛ рдЕрдзрд┐рдХ рддрд╛рд░реНрдХрд┐рдХ, рдмреБрдЭреНрдиреЗ рд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рднрдПрдХреЛ рдЫ, рд░ рдкрдХреНрдХреИ рдкрдирд┐ рдкреНрдпрд╛рд░рд╛ :)ред рдореЗрдиреБ рдЦрдгреНрдбрд╣рд░реВ рдердк рд╕рдВрд░рдЪрд┐рдд рднрдПрдХрд╛ рдЫрдиреНред

2. рдкреНрд░рддреНрдпреЗрдХ рд╕рд░реНрднрд░рдХреЛ рд▓рд╛рдЧрд┐ рдкреГрд╖реНрдард╣рд░реВ рджреЗрдЦрд╛ рдкрд░реЗрдХрд╛ рдЫрдиреН, рдЬреБрди рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╕реЗрд╡рд╛рд╣рд░реВрдХреЛ рд╕рдЮреНрдЪрд╛рд▓рди рдмреБрдЭреНрдирдХреЛ рд▓рд╛рдЧрд┐ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЫред рдпреЛ рдпрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫ:

рдХрд╕рд░реА рдЧрд▓реНрддрд┐рд▓реЗ Haproxy рдХреЛ рд▓рд╛рдЧреА Web-GUI рд▓реЗрдЦреНрди рдЬрд╛рд░реА рд░рд╛рдЦреНрдиреЗ

3. Nginx рд╕рдорд░реНрдерди рдЕрдм рдЙрдкрд▓рдмреНрдз рдЫ! рджреБрд░реНрднрд╛рдЧреНрдпрд╡рд╢, Nginx рдХреЛ рдирд┐: рд╢реБрд▓реНрдХ рд╕рдВрд╕реНрдХрд░рдгрдорд╛ рддрдкрд╛рдЗрдБрдХреЛ рддрдереНрдпрд╛рдЩреНрдХрд╣рд░реВ рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдХрдордЬреЛрд░ рдХреНрд╖рдорддрд╛рд╣рд░реВрдХреЛ рдХрд╛рд░рдгрд▓реЗ HAProxy рдЬрд╕реНрддреИ рдПрдХреАрдХреГрдд рдЧрд░реНрди рд╕рдореНрднрд╡ рдерд┐рдПрди, рддрд░ HAProxy-WI рдХрд╛ рдореБрдЦреНрдп рдХрд╛рд░реНрдпрд╣рд░реВ (рд╕рдореНрдкрд╛рджрди, рддреБрд▓рдирд╛ рд░ рд╕рдВрд╕реНрдХрд░рдг рдХрдиреНрдлрд┐рдЧрд╣рд░реВ, рд╕рдЮреНрдЪрд╛рд▓рди рд░ рд╕реНрдерд╛рдкрдирд╛ рд╕реЗрд╡рд╛рд╣рд░реВ) рд╣реБрдиреНред Nginx рдХреЛ рд▓рд╛рдЧреА рдЕрдЭреИ рдЙрдкрд▓рдмреНрдз рдЫред

рдХрд╕рд░реА рдЧрд▓реНрддрд┐рд▓реЗ Haproxy рдХреЛ рд▓рд╛рдЧреА Web-GUI рд▓реЗрдЦреНрди рдЬрд╛рд░реА рд░рд╛рдЦреНрдиреЗ

4. рддрдкрд╛рдИрдВ HAProxy рд░ Nginx рдХреЛ рд▓рд╛рдЧрд┐ рдкреВрд░реНрдг-рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдирд┐рдЧрд░рд╛рдиреА рддреИрдирд╛рдд рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ! рдпрд╕рд▓реЗ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫ: Grafana, Prometheus рд░ Nginx рд░ HAProxy рдирд┐рд░реНрдпрд╛рддрдХрд░реНрддрд╛рд╣рд░реВред рдХреЗрд╣реА рдХреНрд▓рд┐рдХрд╣рд░реВ рд░ рдбреНрдпрд╛рд╕рдмреЛрд░реНрдбрд╣рд░реВрдорд╛ рд╕реНрд╡рд╛рдЧрдд рдЫ!

5. рдЕрдШрд┐рд▓реНрд▓реЛ рдкреЛрд╕реНрдЯрдорд╛ рдЯрд┐рдкреНрдкрдгреАрд╣рд░реВрдорд╛, рдорд▓рд╛рдИ рдзреЗрд░реИ рдкрдЯрдХ рднрдирд┐рдПрдХреЛ рдерд┐рдпреЛ рдХрд┐ рд╕реЗрд╡рд╛рд╣рд░реВ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрди рдмреНрдпрд╛рд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБ рднрдиреЗрдХреЛ рдЦреБрдЯреНрдЯрд╛рдорд╛ рдЧреЛрд▓реА рд╣рд╛рдиреЗрдХреЛ рд╣реЛред рдо рддрд┐рдиреАрд╣рд░реВрд╕рдБрдЧ рд╕рд╣рдордд рдЫреБ рд░ рддреНрдпрд╕реИрд▓реЗ рд╕рдмреИ рд╕реНрдерд╛рдкрдирд╛рд╣рд░реВрдХреЛ 95% рдЕрдм рдЙрддреНрддрд░рджрд╛рдпреА рдорд╛рд░реНрдлрдд рдЬрд╛рдиреНрдЫред рд╕рд╛рдБрдЪреНрдЪреИ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ, рд░ рдердк рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпред рдЪрд╛рд░реИрддрд┐рд░ рдПрдХ рд╕рдХрд╛рд░рд╛рддреНрдордХ!

6. рддрдкрд╛рдИрдВ рдХрд╕рд░реА рд╕рд╛рдЗрдХрд▓ рднрд┐рддреНрд░ рд╕рд╛рдЗрдХрд▓ рдкреБрди: рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдЧрд░реНрдирдмрд╛рдЯ рдмрдЪреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ? рд╕рд╛рдЗрдХрд▓рдХреЛ рдмрдЪреНрдЪрд╛, рддреНрдпрд╕реИрд▓реЗ рдмреЛрд▓реНрдиреЗ... рдПрдЙрдЯрд╛ рд╕рд╛рдиреЛ рд╕рд╛рдЗрдХрд▓ рдмрд╛рдЗрдХ, рд╕рд╛рдпрдж рддреАрди рдкрд╛рдЩреНрдЧреНрд░реЗ: рдкреЛрд░реНрдЯ рдЙрдкрд▓рдмреНрдзрддрд╛, HTTP рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛, рд░ рдХреБрдЮреНрдЬреА рд╢рдмреНрджрджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЬрд╛рдБрдЪ рдЧрд░реНрди рдкреЛрд░реНрдЯрд╣рд░реВ рдирд┐рдЧрд░рд╛рдиреА рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ред рд╣реЛ, рддреНрдпрд╣рд╛рдБ рдзреЗрд░реИ рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВ рдЫреИрдирдиреН, рддрд░ рдпреЛ рд╕реНрдерд╛рдкрдирд╛ рд░ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдЧрд░реНрди рд╕рдЬрд┐рд▓реЛ рдЫ :)

рдХрд╕рд░реА рдЧрд▓реНрддрд┐рд▓реЗ Haproxy рдХреЛ рд▓рд╛рдЧреА Web-GUI рд▓реЗрдЦреНрди рдЬрд╛рд░реА рд░рд╛рдЦреНрдиреЗ

7. HAProxy RunTime API рдХреЛ рд╕рд╛рде рдзреЗрд░реИ рд░рд╛рдореНрд░реЛ рдХрд╛рдоред рдХрд┐рди рдпрддрд┐ рдЪрд┐рд╕реЛ ? рд╣рд╛рдореАрд╕рдБрдЧ рдорд╛рддреНрд░ рдПрдЙрдЯрд╛ рдЫ рд░... рд╕рд╛рдпрдж рдЕрд░реВ рд╕рдмреИрд╕рдБрдЧред рдкрдХреНрдХреИ рдпреЛ рдЕрд▓рд┐рдХрддрд┐ рдЕрднрд┐рдорд╛рдиреА рд╕реБрдирд┐рдиреНрдЫ, рддрд░ рдорд▓рд╛рдИ рдпреЛ рдХрд╕рд░реА рдХрд╛рдо рдЧрд░реНрджрдЫ рднрдиреНрдиреЗ рдорди рдкрд░реНрдЫред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдзреЗрд░реИ рдордирдкрд░реНрдиреЗ рд░ рдШреГрдгрд╛ рдЧрд░рд┐рдПрдХреЛ рд╕реНрдЯрд┐рдХ-рдЯреЗрдмрд▓рд╣рд░реВрд╕рдБрдЧ рдХреЗ рдХрд╛рдо рдЧрд░реНрдЫ рдЬрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫ:

рдХрд╕рд░реА рдЧрд▓реНрддрд┐рд▓реЗ Haproxy рдХреЛ рд▓рд╛рдЧреА Web-GUI рд▓реЗрдЦреНрди рдЬрд╛рд░реА рд░рд╛рдЦреНрдиреЗ

рд╕рд╛рдпрдж рд╕рдмреИ рдореБрдЦреНрдпред рддреНрдпрд╣рд╛рдБ рд╕рдореВрд╣рд╣рд░реВ, рднреВрдорд┐рдХрд╛рд╣рд░реВ, рд╕реБрд░рдХреНрд╖рд╛ рд░ рдмрдЧ рдкрддреНрддрд╛ рд▓рдЧрд╛рдЙрдиреЗрд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рдзреЗрд░реИ рдХрд╛рдорд╣рд░реВ рдерд┐рдП... рддрд░ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдкрдорд╛, рддрдкрд╛рдИрдВрд▓рд╛рдИ рдХреЗ рдерд╛рд╣рд╛ рдЫ? рдЕрдм рддреНрдпрд╣рд╛рдБ рдПрдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдЫ, рдЬрд╣рд╛рдБ HAProxy-WI рдХреЛ рдбреЗрдореЛ рдЫ рд░ рддрдкрд╛рдИрд▓реЗ рд╕рдмреИ рдХреБрд░рд╛ рдЖрдлреИ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рд░ рдЬрд╣рд╛рдБ рдЪреЗрдиреНрдЬрд▓рдЧ рдЫред рдХреГрдкрдпрд╛ "рд╣рд╛рдмреНрд░реЛ рдкреНрд░рднрд╛рд╡" рдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдкрд░реНрджреИрди, рдЕрдиреНрдпрдерд╛ рдорд╕рдБрдЧ рд╕рд╛рдЗрдЯ рд░ рдбреЗрдореЛрдХреЛ рд▓рд╛рдЧрд┐ рдХрдордЬреЛрд░ рд╕рд░реНрднрд░ рдЫред рд░ рдПрдХ рд▓рд┐рдЩреНрдХ GitHub

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди