MySQL рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд▓рд┐рдП HA рд╕рдорд╛рдзрд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрдЯрд░ рдФрд░ VIP

рд╕рд┐рдЯреАрдореЛрдмрд┐рд▓ рдореЗрдВ рд╣рдо рдЕрдкрдиреЗ рдореБрдЦреНрдп рд╕рддрдд рдбреЗрдЯрд╛ рднрдВрдбрд╛рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ MySQL рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╡рд┐рднрд┐рдиреНрди рд╕реЗрд╡рд╛рдУрдВ рдФрд░ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХрдИ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреНрд▓рд╕реНрдЯрд░ рд╣реИрдВред

рдорд╛рд╕реНрдЯрд░ рдХреА рдирд┐рд░рдВрддрд░ рдЙрдкрд▓рдмреНрдзрддрд╛ рд╕рдВрдкреВрд░реНрдг рд╕рд┐рд╕реНрдЯрдо рдФрд░ рдЙрд╕рдХреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рднрд╛рдЧреЛрдВ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХрд╛ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕рдВрдХреЗрддрдХ рд╣реИред рдорд╛рд╕реНрдЯрд░ рд╡рд┐рдлрд▓рддрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХреНрд▓рд╕реНрдЯрд░ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдШрдЯрдирд╛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдордп рдФрд░ рд╕рд┐рд╕реНрдЯрдо рдбрд╛рдЙрдирдЯрд╛рдЗрдо рдХреЛ рдХрд╛рдлреА рдХрдо рдХрд░ рджреЗрддреА рд╣реИред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ MySQL рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд▓рд┐рдП рдЙрдЪреНрдЪ рдЙрдкрд▓рдмреНрдзрддрд╛ (HA) рдбрд┐рдЬрд╝рд╛рдЗрди рдкрд░ рдЖрдзрд╛рд░рд┐рдд рджреЗрдЦреВрдБрдЧрд╛ MySQL рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрдЯрд░ рдФрд░ рд╡рд░реНрдЪреБрдЕрд▓ рдЖрдИрдкреА рдПрдбреНрд░реЗрд╕ (рд╡реАрдЖрдИрдкреА)ред

MySQL рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд▓рд┐рдП HA рд╕рдорд╛рдзрд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрдЯрд░ рдФрд░ VIP

рд╡реАрдЖрдИрдкреА рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдПрдЪрдП рд╕рдорд╛рдзрд╛рди

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВ рдЖрдкрдХреЛ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рд╣рдорд╛рд░реА рдбреЗрдЯрд╛ рднрдВрдбрд╛рд░рдг рдкреНрд░рдгрд╛рд▓реА рдХреНрдпрд╛ рд╣реИред

рд╣рдо рдПрдХ рдХреНрд▓рд╛рд╕рд┐рдХ рдкреНрд░рддрд┐рдХреГрддрд┐ рдпреЛрдЬрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд▓реЗрдЦрди-рд╕реБрд▓рдн рдорд╛рд╕реНрдЯрд░ рдФрд░ рдПрдХрд╛рдзрд┐рдХ рдХреЗрд╡рд▓-рдкрдврд╝рдиреЗ рдпреЛрдЧреНрдп рдкреНрд░рддрд┐рдХреГрддрд┐рдпрд╛рдВ рд╣реЛрддреА рд╣реИрдВред рдПрдХ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдПрдХ рдордзреНрдпрд╡рд░реНрддреА рдорд╛рд╕реНрдЯрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ - рдПрдХ рдиреЛрдб рдЬреЛ рджреВрд╕рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдХреГрддрд┐ рдФрд░ рдорд╛рд╕реНрдЯрд░ рджреЛрдиреЛрдВ рд╣реИред рдЧреНрд░рд╛рд╣рдХ HAProxy рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рддрд┐рдХреГрддрд┐рдпреЛрдВ рддрдХ рдкрд╣реБрдВрдЪрддреЗ рд╣реИрдВ, рдЬреЛ рд╕рдорд╛рди рд▓реЛрдб рд╡рд┐рддрд░рдг рдФрд░ рдЖрд╕рд╛рди рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред HAProxy рдХрд╛ рдЙрдкрдпреЛрдЧ рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рдХрд╛рд░рдгреЛрдВ рд╕реЗ рд╣реИ, рдФрд░ рд╣рдо рд╡рд░реНрддрдорд╛рди рдореЗрдВ ProxySQL рдкрд░ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╣реИрдВред

рдкреНрд░рддрд┐рдХреГрддрд┐ рдЕрд░реНрдз-рд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдореЛрдб рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреА рдЬрд╛рддреА рд╣реИ GTID. рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рд▓реЗрди-рджреЗрди рдХреЛ рд╕рдлрд▓ рдорд╛рдирдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреЛ рд▓реЙрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣ рдкреНрд░рддрд┐рдХреГрддрд┐ рдореЛрдб рдорд╛рд╕реНрдЯрд░ рдиреЛрдб рд╡рд┐рдлрд▓рддрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рди рдФрд░ рдбреЗрдЯрд╛ рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рдмреАрдЪ рдПрдХ рдЗрд╖реНрдЯрддрдо рд╕рдВрддреБрд▓рди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдореВрд▓ рд░реВрдк рд╕реЗ рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрди рдорд╛рд╕реНрдЯрд░ рд╕реЗ рдкреНрд░рддрд┐рдХреГрддрд┐рдпреЛрдВ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ Row Based Replication (RBR), рд▓реЗрдХрд┐рди рдХреБрдЫ рдиреЛрдбреНрд╕ рдореЗрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ mixed binlog format.

рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрдЯрд░ рд╕рдордп-рд╕рдордп рдкрд░ рдХреНрд▓рд╕реНрдЯрд░ рдЯреЛрдкреЛрд▓реЙрдЬреА рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рддрд╛ рд╣реИ, рдкреНрд░рд╛рдкреНрдд рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдпрджрд┐ рд╕рдорд╕реНрдпрд╛рдПрдВ рдЖрддреА рд╣реИрдВ, рддреЛ рдпрд╣ рдПрдХ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдбреЗрд╡рд▓рдкрд░ рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдпрдВ рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЛрдВ рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: рд╡реАрдЖрдИрдкреА, рдбреАрдПрдирдПрд╕ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╕реЗрд╡рд╛ рдЦреЛрдЬ рд╕реЗрд╡рд╛рдУрдВ рдпрд╛ рд╕реНрд╡-рд▓рд┐рдЦрд┐рдд рддрдВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗред

рдорд╛рд╕реНрдЯрд░ рдХреЗ рд╡рд┐рдлрд▓ рд╣реЛрдиреЗ рдкрд░ рдЙрд╕реЗ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдлреНрд▓реЛрдЯрд┐рдВрдЧ рд╡реАрдЖрдИрдкреА рдкрддреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред

рдЖрдЧреЗ рдмрдврд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рдЬрд╛рдирдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ:

  • VIP рдПрдХ IP рдкрддрд╛ рд╣реИ рдЬреЛ рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рднреМрддрд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╕реЗ рд╕рдВрдмрджреНрдз рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдпрджрд┐ рдХреЛрдИ рдиреЛрдб рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдпрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░рдЦрд░рдЦрд╛рд╡ рдХреЗ рджреМрд░рд╛рди, рд╣рдо рд╡реАрдЖрдИрдкреА рдХреЛ рдиреНрдпреВрдирддрдо рдбрд╛рдЙрдирдЯрд╛рдЗрдо рдХреЗ рд╕рд╛рде рдХрд┐рд╕реА рдЕрдиреНрдп рд╕рдВрд╕рд╛рдзрди рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
  • рд╡рд░реНрдЪреБрдЕрд▓ рдЖрдИрдкреА рдПрдбреНрд░реЗрд╕ рдХреЛ рдореБрдХреНрдд рдХрд░рдирд╛ рдФрд░ рдЬрд╛рд░реА рдХрд░рдирд╛ рдПрдХ рд╕рд╕реНрддрд╛ рдФрд░ рддреЗрдЬрд╝ рдСрдкрд░реЗрд╢рди рд╣реИред
  • рд╡реАрдЖрдИрдкреА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрд╕рдПрд╕рдПрдЪ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рд░реНрд╡рд░ рддрдХ рдкрд╣реБрдВрдЪ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдпрд╛ рд╡рд┐рд╢реЗрд╖ рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, keepalived.

рдЖрдЗрдП рд╣рдорд╛рд░реЗ рд╡рд┐рдЬрд╝рд╛рд░реНрдб рдХреЗ рд╕рд╛рде рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рджреЗрдЦреЗрдВ рдФрд░ рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рддрдВрддреНрд░ рдХреЛ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдорд╛рд╕реНрдЯрд░ рд╕реЗ рдиреЗрдЯрд╡рд░реНрдХ рдХрдиреЗрдХреНрдЯрд┐рд╡рд┐рдЯреА рдЧрд╛рдпрдм рд╣реЛ рдЧрдИ рд╣реИ, рдпрд╛ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╕реНрддрд░ рдкрд░ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдЙрддреНрдкрдиреНрди рд╣реЛ рдЧрдИ рд╣реИ, рдФрд░ рд╕рд░реНрд╡рд░ рдЕрдиреБрдкрд▓рдмреНрдз рд╣реИ

  1. рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрдЯрд░ рдХреНрд▓рд╕реНрдЯрд░ рдЯреЛрдкреЛрд▓реЙрдЬреА рдХреЛ рдЕрджреНрдпрддрди рдХрд░рддрд╛ рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рддрд┐рдХреГрддрд┐ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рддреА рд╣реИ рдХрд┐ рдорд╛рд╕реНрдЯрд░ рдЕрдиреБрдкрд▓рдмреНрдз рд╣реИред рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрдЯрд░ рдирдП рдорд╛рд╕реНрдЯрд░ рдХреА рднреВрдорд┐рдХрд╛ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдкреНрд░рддрд┐рдХреГрддрд┐ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИред
  2. рд╣рдо рдкреБрд░рд╛рдиреЗ рд╕реНрд╡рд╛рдореА рд╕реЗ рд╡реАрдЖрдИрдкреА рдХреЛ рд╣рдЯрд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣реЗ рд╣реИрдВ - рдмрд┐рдирд╛ рд╕рдлрд▓рддрд╛ рдХреЗред
  3. рдкреНрд░рддрд┐рдХреГрддрд┐ рдорд╛рд╕реНрдЯрд░ рдХреА рднреВрдорд┐рдХрд╛ рдореЗрдВ рдмрджрд▓ рдЬрд╛рддреА рд╣реИред рдЯреЛрдкреЛрд▓реЙрдЬреА рдХрд╛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред
  4. VIP рдХреЗ рд╕рд╛рде рдПрдХ рдирдпрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдЪреВрдВрдХрд┐ рд╡реАрдЖрдИрдкреА рдХреЛ рд╣рдЯрд╛рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рдерд╛, рдЗрд╕рд▓рд┐рдП рд╣рдо рд╕рдордп-рд╕рдордп рдкрд░ рдкреГрд╖реНрдарднреВрдорд┐ рдореЗрдВ рдПрдХ рдЕрдиреБрд░реЛрдз рднреЗрдЬрдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рдирд┐рдГрд╢реБрд▓реНрдХ рдПрдЖрд░рдкреА. рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЕрдиреБрд░реЛрдз/рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЖрдкрдХреЛ рдХрдиреЗрдХреНрдЯреЗрдб рд╕реНрд╡рд┐рдЪ рдкрд░ рдЖрдИрдкреА рдФрд░ рдореИрдХ рдПрдбреНрд░реЗрд╕ рдореИрдкрд┐рдВрдЧ рдЯреЗрдмрд▓ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдЖрдкрдХреЛ рд╕реВрдЪрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░рд╛ рд╡реАрдЖрдИрдкреА рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рд╣реЛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рд╕реЗ рд╕рдВрднрд╛рд╡рдирд╛ рдХрдо рд╣реЛ рдЬрд╛рддреА рд╣реИ split brain рдкреБрд░рд╛рдиреЗ рд╕реНрд╡рд╛рдореА рдХреЛ рд▓реМрдЯрд╛рддреЗ рд╕рдордпред
  5. рд╕рднреА рдирдП рдХрдиреЗрдХреНрд╢рди рддреБрд░рдВрдд рдирдП рдорд╛рд╕реНрдЯрд░ рдкрд░ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░ рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдкреБрд░рд╛рдиреЗ рдХрдиреЗрдХреНрд╢рди рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реНрддрд░ рдкрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдкрд░ рдмрд╛рд░-рдмрд╛рд░ рдХреЙрд▓ рдХреА рдЬрд╛рддреА рд╣реИред

рд╕рд░реНрд╡рд░ рд╕рд╛рдорд╛рдиреНрдп рдореЛрдб рдореЗрдВ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, DBMS рд╕реНрддрд░ рдкрд░ рд╡рд┐рдлрд▓рддрд╛ рд╣реБрдИ

рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдкрд┐рдЫрд▓реЗ рдорд╛рдорд▓реЗ рдХреЗ рд╕рдорд╛рди рд╣реИ: рдЯреЛрдкреЛрд▓реЙрдЬреА рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рдФрд░ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рдХрд░рдирд╛ред рдЪреВрдВрдХрд┐ рд╕рд░реНрд╡рд░ рдЙрдкрд▓рдмреНрдз рд╣реИ, рд╣рдо рдкреБрд░рд╛рдиреЗ рдорд╛рд╕реНрдЯрд░ рдкрд░ рд╡реАрдЖрдИрдкреА рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЬрд╛рд░реА рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕реЗ рдирдП рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдХрдИ рдПрдЖрд░рдкреА рдЕрдиреБрд░реЛрдз рднреЗрдЬрддреЗ рд╣реИрдВред рдкреБрд░рд╛рдиреЗ рдорд╛рд╕реНрдЯрд░ рдХреА рд╕рдВрднрд╛рд╡рд┐рдд рд╡рд╛рдкрд╕реА рдХрд╛ рдкреБрдирд░реНрдирд┐рд░реНрдорд┐рдд рдХреНрд▓рд╕реНрдЯрд░ рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдкрд░ рдХреЛрдИ рдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ рдкрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЕрдиреНрдп рд╕рдорд╕реНрдпрд╛рдПрдВ

рдкреНрд░рддрд┐рдХреГрддрд┐рдпреЛрдВ рдпрд╛ рдордзреНрдпрд╡рд░реНрддреА рдорд╛рд╕реНрдЯрд░реНрд╕ рдХреА рд╡рд┐рдлрд▓рддрд╛ рдиреЗрддреГрддреНрд╡ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдФрд░ рдореИрдиреНрдпреБрдЕрд▓ рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

рдПрдХ рд╡рд░реНрдЪреБрдЕрд▓ рдиреЗрдЯрд╡рд░реНрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣рдореЗрд╢рд╛ рдЕрд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╛рдиреА, рд╕рд░реНрд╡рд░ рд░реАрдмреВрдЯ рдХреЗ рдмрд╛рдж, рд╡реАрдЖрдИрдкреА рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЕрд╕рд╛рдЗрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд░реАрдб-рдУрдирд▓реА рдореЛрдб рдореЗрдВ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрдЯрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдирдП рдорд╛рд╕реНрдЯрд░ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рд┐рдЪ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИ read only рдкреБрд░рд╛рдиреЗ рдорд╛рд╕реНрдЯрд░ рдкрд░. рдЗрди рдХрд╛рд░реНрд░рд╡рд╛рдЗрдпреЛрдВ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рдХрдо рдХрд░рдирд╛ рд╣реИ split brain.

рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рджреМрд░рд╛рди рд╕рдорд╕реНрдпрд╛рдПрдВ рдЙрддреНрдкрдиреНрди рд╣реЛ рд╕рдХрддреА рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рдорд╛рдирдХ рдирд┐рдЧрд░рд╛рдиреА рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрдЯрд░ рдпреВрдЖрдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рднреА рд╕реВрдЪрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╣рдордиреЗ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдЬреЛрдбрд╝рдХрд░ REST API рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд┐рдпрд╛ рд╣реИ (PR рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕рдореАрдХреНрд╖рд╛рдзреАрди рд╣реИ)ред

HA рд╕рдорд╛рдзрд╛рди рдХрд╛ рд╕рд╛рдорд╛рдиреНрдп рдЖрд░реЗрдЦ рдиреАрдЪреЗ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

MySQL рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд▓рд┐рдП HA рд╕рдорд╛рдзрд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрдЯрд░ рдФрд░ VIP

рдПрдХ рдирдпрд╛ рдорд╛рд╕реНрдЯрд░ рдЪреБрдирдирд╛

рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрдЯрд░ рдХрд╛рдлреА рдЪрддреБрд░ рд╣реИ рдФрд░ рдЪреБрдирдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИ рд╕рдмрд╕реЗ рдЙрдкрдпреБрдХреНрдд рдкреНрд░рддрд┐рдХреГрддрд┐ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдорд╛рдирджрдВрдбреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдПрдХ рдирдП рдорд╛рд╕реНрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ:

  • рдкреНрд░рддрд┐рдХреГрддрд┐ рдЧреБрд░реБ рд╕реЗ рдкреАрдЫреЗ рд░рд╣ рдЬрд╛рддреА рд╣реИ;
  • рдорд╛рд╕реНрдЯрд░ рдФрд░ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХрд╛ MySQL рд╕рдВрд╕реНрдХрд░рдг;
  • рдкреНрд░рддрд┐рдХреГрддрд┐ рдкреНрд░рдХрд╛рд░ (рдЖрд░рдмреАрдЖрд░, рдПрд╕рдмреАрдЖрд░ рдпрд╛ рдорд┐рд╢реНрд░рд┐рдд);
  • рд╕рдорд╛рди рдпрд╛ рднрд┐рдиреНрди рдбреЗрдЯрд╛ рдХреЗрдВрджреНрд░реЛрдВ рдореЗрдВ рд╕реНрдерд╛рди;
  • рдЙрдкрд▓рдмреНрдзрддрд╛ errant GTID - рд▓реЗрдирджреЗрди рдЬреЛ рдкреНрд░рддрд┐рдХреГрддрд┐ рдкрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдП рдЧрдП рдереЗ рдФрд░ рдорд╛рд╕реНрдЯрд░ рдкрд░ рдирд╣реАрдВ рд╣реИрдВ;
  • рдХрд╕реНрдЯрдо рдЪрдпрди рдирд┐рдпрдореЛрдВ рдХреЛ рднреА рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╣рд░ рдХреНрдпреВ рдПрдХ рдорд╛рд╕реНрдЯрд░ рдХреЗ рд▓рд┐рдП рдЖрджрд░реНрд╢ рдЙрдореНрдореАрджрд╡рд╛рд░ рдирд╣реАрдВ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреНрд░рддрд┐рдХреГрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдбреЗрдЯрд╛ рдХрд╛ рдмреИрдХрдЕрдк рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╛ рд╕рд░реНрд╡рд░ рдореЗрдВ рдХрдордЬреЛрд░ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╣реИред рд╡рд╛рджреНрдпрд╡реГрдВрджрдХрд╛рд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рдореИрдиреНрдпреБрдЕрд▓ рдирд┐рдпрдо рдЬрд┐рдирдХреА рд╕рд╣рд╛рдпрддрд╛ рд╕реЗ рдЖрдк рдЕрдкрдиреЗ рдЙрдореНрдореАрджрд╡рд╛рд░ рдЪрдпрди рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреЛ рд╕рд░реНрд╡рд╛рдзрд┐рдХ рдкрд╕рдВрджреАрджрд╛ рд╕реЗ рдЙрдкреЗрдХреНрд╖рд┐рдд рдореЗрдВ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдФрд░ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рд╕рдордп

рдХрд┐рд╕реА рдШрдЯрдирд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рд╕рд┐рд╕реНрдЯрдо рдбрд╛рдЙрдирдЯрд╛рдЗрдо рдХреЛ рдХрдо рдХрд░рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рддреЛ рдЖрдЗрдП MySQL рдкреИрд░рд╛рдореАрдЯрд░ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдЬреЛ рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдХреНрд▓рд╕реНрдЯрд░ рдЯреЛрдкреЛрд▓реЙрдЬреА рдХреЗ рдирд┐рд░реНрдорд╛рдг рдФрд░ рдЕрджреНрдпрддрди рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреЗ рд╣реИрдВ:

  • slave_net_timeout - рд╕реЗрдХрдВрдб рдХреА рд╕рдВрдЦреНрдпрд╛ рдЬрд┐рд╕рдХреЗ рджреМрд░рд╛рди рдкреНрд░рддрд┐рдХреГрддрд┐ рдирдП рдбреЗрдЯрд╛ рдпрд╛ рдХрдиреЗрдХреНрд╢рди рдХреЗ рдЦреЛ рдЬрд╛рдиреЗ рдФрд░ рдкреБрдирдГ рдХрдиреЗрдХреНрдЯ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдорд╛рд╕реНрдЯрд░ рд╕реЗ рдЖрдиреЗ рд╡рд╛рд▓реЗ рджрд┐рд▓ рдХреА рдзрдбрд╝рдХрди рдХреЗ рд╕рдВрдХреЗрдд рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддреА рд╣реИред рдореВрд▓реНрдп рдЬрд┐рддрдирд╛ рдХрдо рд╣реЛрдЧрд╛, рдкреНрд░рддрд┐рдХреГрддрд┐ рдЙрддрдиреА рд╣реА рддреЗрдЬреА рд╕реЗ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреА рд╣реИ рдХрд┐ рдорд╛рд╕реНрдЯрд░ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ рдЯреВрдЯ рдЧрдпрд╛ рд╣реИред рд╣рдордиреЗ рдпрд╣ рдорд╛рди 5 рд╕реЗрдХрдВрдб рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рд╣реИред
  • MASTER_CONNECT_RETRY - рдкреБрди: рдХрдиреЗрдХреНрд╢рди рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЗ рдмреАрдЪ рд╕реЗрдХрдВрдб рдХреА рд╕рдВрдЦреНрдпрд╛ред рдиреЗрдЯрд╡рд░реНрдХ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЗрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдХрдо рдорд╛рди рддреНрд╡рд░рд┐рдд рдкреБрди: рдХрдиреЗрдХреНрд╢рди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ рдФрд░ рдХреНрд▓рд╕реНрдЯрд░ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╢реБрд░реВ рд╣реЛрдиреЗ рд╕реЗ рд░реЛрдХ рджреЗрдЧрд╛ред рдЕрдиреБрд╢рдВрд╕рд┐рдд рдорд╛рди 1 рд╕реЗрдХрдВрдб рд╣реИ.
  • MASTER_RETRY_COUNT -рдкреБрдирдГрдХрдиреЗрдХреНрд╢рди рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреА рдЕрдзрд┐рдХрддрдо рд╕рдВрдЦреНрдпрд╛ред
  • MASTER_HEARTBEAT_PERIOD - рд╕реЗрдХрдВрдб рдореЗрдВ рдЕрдВрддрд░рд╛рд▓ рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдорд╛рд╕реНрдЯрд░ рджрд┐рд▓ рдХреА рдзрдбрд╝рдХрди рдХрд╛ рд╕рдВрдХреЗрдд рднреЗрдЬрддрд╛ рд╣реИред рдЖрдзреЗ рдорд╛рди рдкрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ slave_net_timeout.

рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрдЯрд░ рд╡рд┐рдХрд▓реНрдк:

  • DelayMasterPromotionIfSQLThreadNotUpToDate - рдпрджрд┐ рдмрд░рд╛рдмрд░ рд╣реЛ true, рддреЛ рдорд╛рд╕реНрдЯрд░ рд░реЛрд▓ рдЙрдореНрдореАрджрд╡рд╛рд░ рдкреНрд░рддрд┐рдХреГрддрд┐ рдкрд░ рддрдм рддрдХ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬрдм рддрдХ рдХрд┐ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХрд╛ SQL рдереНрд░реЗрдб рд░рд┐рд▓реЗ рд▓реЙрдЧ рд╕реЗ рд╕рднреА рдЕрдкреНрд░рдпреБрдХреНрдд рд▓реЗрдирджреЗрди рдХреЛ рдкреВрд░рд╛ рдирд╣реАрдВ рдХрд░ рд▓реЗрддрд╛ред рдЬрдм рд╕рднреА рдЙрдореНрдореАрджрд╡рд╛рд░ рдкреНрд░рддрд┐рдХреГрддрд┐рдпрд╛рдВ рдкреАрдЫреЗ рд░рд╣ рдЬрд╛рддреА рд╣реИрдВ рддреЛ рд▓реЗрдирджреЗрди рдЦреЛрдиреЗ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдо рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
  • InstancePollSeconds тАФ рдЯреЛрдкреЛрд▓реЙрдЬреА рдХреЗ рдирд┐рд░реНрдорд╛рдг рдФрд░ рдЕрджреНрдпрддрди рдХреА рдЖрд╡реГрддреНрддрд┐ред
  • RecoveryPollSeconds - рдЯреЛрдкреЛрд▓реЙрдЬреА рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреА рдЖрд╡реГрддреНрддрд┐ред рдпрджрд┐ рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ, рддреЛ рдЯреЛрдкреЛрд▓реЙрдЬреА рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рд╢реБрд░реВ рдХреА рдЬрд╛рддреА рд╣реИред рдпрд╣ рд╕реНрдерд┐рд░, 1 рд╕реЗрдХрдВрдб рдХреЗ рдмрд░рд╛рдмрд░.

рдкреНрд░рддреНрдпреЗрдХ рдХреНрд▓рд╕реНрдЯрд░ рдиреЛрдб рдХрд╛ рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдПрдХ рдмрд╛рд░ рд╕рд░реНрд╡реЗрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ InstancePollSeconds рд╕реЗрдХрдВрдб рдЬрдм рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ, рддреЛ рдХреНрд▓рд╕реНрдЯрд░ рд╕реНрдерд┐рддрд┐ рдХреЛ рдордЬрдмреВрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЕрджреНрдпрддрди, рдФрд░ рдлрд┐рд░ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдХрд░рдиреЗ рдХрд╛ рдЕрдВрддрд┐рдо рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡рд┐рднрд┐рдиреНрди рдбреЗрдЯрд╛рдмреЗрд╕ рдФрд░ рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрдЯрд░ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд░рдХреЗ, рд╣рдо рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдФрд░ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рд╕рдордп рдХреЛ 30 рд╕реЗрдХрдВрдб рддрдХ рдХрдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдереЗред

рдкрд░реАрдХреНрд╖рдг рд╕реНрдЯреИрдВрдб

рд╣рдордиреЗ рд╕реНрдерд╛рдиреАрдп рд╡рд┐рдХрд╛рд╕ рдХреЗ рд╕рд╛рде рдПрдЪрдП рдпреЛрдЬрдирд╛ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рд╢реБрд░реВ рдХрд┐рдпрд╛ рдкрд░реАрдХреНрд╖рдг рдмреЗрдВрдЪ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдФрд░ рдЙрддреНрдкрд╛рджрди рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдЖрдЧреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдиред рд╕реНрдерд╛рдиреАрдп рд╕реНрдЯреИрдВрдб рдбреЙрдХрд░ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрдЯрд░ рдФрд░ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ, рдХреНрд▓рд╕реНрдЯрд░ рдХреЛ 2-3 рд╕рд░реНрд╡рд░ рд╕реЗ рдХрдИ рджрд░реНрдЬрди рддрдХ рд╕реНрдХреЗрд▓ рдХрд░рдиреЗ рдФрд░ рдПрдХ рд╕реБрд░рдХреНрд╖рд┐рдд рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдЕрднреНрдпрд╛рд╕ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдЕрднреНрдпрд╛рд╕ рдХреЗ рджреМрд░рд╛рди, рд╣рдо рд╕рдорд╕реНрдпрд╛ рдЕрдиреБрдХрд░рдг рд╡рд┐рдзрд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рдЪреБрдирддреЗ рд╣реИрдВ: рддреБрд░рдВрдд рдорд╛рд╕реНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╢реВрдЯ рдХрд░реЗрдВ kill -9, рдзреАрд░реЗ рд╕реЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░реЗрдВ рдФрд░ рд╕рд░реНрд╡рд░ рдХреЛ рд░реЛрдХреЗрдВ (docker-compose stop), рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдиреЗрдЯрд╡рд░реНрдХ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░реЗрдВ iptables -j REJECT рдпрд╛ iptables -j DROP. рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВ:

  • рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрдЯрд░ рдорд╛рд╕реНрдЯрд░ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдЧрд╛ рдФрд░ рдЯреЛрдкреЛрд▓реЙрдЬреА рдХреЛ 10 рд╕реЗрдХрдВрдб рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рдореЗрдВ рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛;
  • рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреНрд░рд╛рд░рдВрдн рд╣реЛ рдЬрд╛рдПрдЧреА: рдиреЗрдЯрд╡рд░реНрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдмрджрд▓ рдЬрд╛рдПрдЧрд╛, рдорд╛рд╕реНрдЯрд░ рдХреА рднреВрдорд┐рдХрд╛ рдкреНрд░рддрд┐рдХреГрддрд┐ рдореЗрдВ рдЪрд▓реА рдЬрд╛рдПрдЧреА, рдЯреЛрдкреЛрд▓реЙрдЬреА рдХрд╛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛;
  • рдирдпрд╛ рдорд╛рд╕реНрдЯрд░ рд▓рд┐рдЦрдиреЗ рдпреЛрдЧреНрдп рд╣реЛ рдЬрд╛рдПрдЧрд╛, рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рджреМрд░рд╛рди рдЬреАрд╡рд┐рдд рдкреНрд░рддрд┐рдХреГрддрд┐рдпрд╛рдВ рдирд╖реНрдЯ рдирд╣реАрдВ рд╣реЛрдВрдЧреА;
  • рдбреЗрдЯрд╛ рдирдП рдорд╛рд╕реНрдЯрд░ рдХреЛ рд▓рд┐рдЦрд╛ рдЬрд╛рдирд╛ рдФрд░ рджреЛрд╣рд░рд╛рдпрд╛ рдЬрд╛рдирд╛ рд╢реБрд░реВ рд╣реЛ рдЬрд╛рдПрдЧрд╛;
  • рдХреБрд▓ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рд╕рдордп 30 рд╕реЗрдХрдВрдб рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, рд╕рд┐рд╕реНрдЯрдо рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдФрд░ рдиреЗрдЯрд╡рд░реНрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди, рд╕рд┐рдВрдереЗрдЯрд┐рдХ рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд▓реЛрдб рдореЗрдВ рдЕрдВрддрд░ рдЖрджрд┐ рдХреЗ рдХрд╛рд░рдг рдкрд░реАрдХреНрд╖рдг рдФрд░ рдЙрддреНрдкрд╛рджрди рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╣рдо рд╕рдордп-рд╕рдордп рдкрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдЕрднреНрдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣ рдЬрд╛рдВрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдиреЗрдЯрд╡рд░реНрдХ рдХрдиреЗрдХреНрдЯрд┐рд╡рд┐рдЯреА рдЦреЛ рдЬрд╛рдиреЗ рдпрд╛ рдЙрд╕рдХреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЗ рдЦрд╝рд░рд╛рдм рд╣реЛрдиреЗ рдкрд░ рд╕рд┐рд╕реНрдЯрдо рдХреИрд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддрд╛ рд╣реИред рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рд╣рдо рджреЛрдиреЛрдВ рд╡рд╛рддрд╛рд╡рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдорд╛рди рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рдирд┐рд╖реНрдХрд░реНрд╖

рдореБрдЦреНрдп рднрдВрдбрд╛рд░рдг рдкреНрд░рдгрд╛рд▓реА рдиреЛрдб рдХрд╛ рд╕реНрд╡рд╛рд╕реНрдереНрдп рдПрд╕рдЖрд░рдИ рдФрд░ рд╕рдВрдЪрд╛рд▓рди рдЯреАрдо рдХреЗ рдореБрдЦреНрдп рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред рд╡реАрдЖрдИрдкреА рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрдЯрд░ рдФрд░ рдПрдЪрдП рд╕рдорд╛рдзрд╛рди рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдиреЗ рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреА:

  • рдбреЗрдЯрд╛рдмреЗрд╕ рдХреНрд▓рд╕реНрдЯрд░ рдХреА рдЯреЛрдкреЛрд▓реЙрдЬреА рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдкрддрд╛ рд▓рдЧрд╛рдирд╛;
  • рдорд╛рд╕реНрдЯрд░-рд╕рдВрдмрдВрдзрд┐рдд рдШрдЯрдирд╛рдУрдВ рдкрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдФрд░ рддреАрд╡реНрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛, рд╕рд┐рд╕реНрдЯрдо рдбрд╛рдЙрдирдЯрд╛рдЗрдо рдХреЛ рдХрдо рдХрд░рдирд╛ред

рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╕рдорд╛рдзрд╛рди рдХреА рдЕрдкрдиреА рд╕реАрдорд╛рдПрдБ рдФрд░ рдиреБрдХрд╕рд╛рди рд╣реИрдВ:

  • HA рдпреЛрдЬрдирд╛ рдХреЛ рдХрдИ рдбреЗрдЯрд╛ рдХреЗрдВрджреНрд░реЛрдВ рддрдХ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдирдХреЗ рдмреАрдЪ рдПрдХ рдПрдХрд▓ L2 рдиреЗрдЯрд╡рд░реНрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА;
  • рдирдП рдорд╛рд╕реНрдЯрд░ рдкрд░ рд╡реАрдЖрдИрдкреА рдЕрд╕рд╛рдЗрди рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рд╣рдореЗрдВ рдЗрд╕реЗ рдкреБрд░рд╛рдиреЗ рдорд╛рд╕реНрдЯрд░ рдкрд░ рдЬрд╛рд░реА рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЕрдиреБрдХреНрд░рдорд┐рдХ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рд╕рдордп рдмрдврд╝ рдЬрд╛рддрд╛ рд╣реИ;
  • рд╡реАрдЖрдИрдкреА рдЬрд╛рд░реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд░ рддрдХ рдПрд╕рдПрд╕рдПрдЪ рдкрд╣реБрдВрдЪ, рдпрд╛ рджреВрд░рд╕реНрде рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдХрд┐рд╕реА рдЕрдиреНрдп рд╡рд┐рдзрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЪреВрдБрдХрд┐ рд╕рд░реНрд╡рд░ рдпрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдПрдБ рдЖ рд░рд╣реА рд╣реИрдВ рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реБрдИ, рд╣рдо рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдХрд┐ рд╡реАрдЖрдИрдкреА рдирд┐рд╖реНрдХрд╛рд╕рди рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреВрд░рд╛ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдФрд░ рдЗрд╕рд╕реЗ рдПрдХ рд╣реА рд╡рд░реНрдЪреБрдЕрд▓ рдЖрдИрдкреА рдкрддреЗ рд╡рд╛рд▓реЗ рджреЛ рд╕рд░реНрд╡рд░ рд╕рд╛рдордиреЗ рдЖ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ split brain.

рдХрдиреНрдиреА рдХрд╛рдЯрдирд╛ split brain, рдЖрдк рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рд╕реНрдЯреЛрдирд┐рде ("рд╕рд┐рд░ рдореЗрдВ рдЕрдиреНрдп рдиреЛрдб рдХреЛ рдЧреЛрд▓реА рдорд╛рд░реЛ"), рдЬреЛ рд╕рдорд╕реНрдпрд╛ рдиреЛрдб рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рдпрд╛ рдЕрдХреНрд╖рдо рдХрд░ рджреЗрддрд╛ рд╣реИред рдХреНрд▓рд╕реНрдЯрд░ рдЙрдЪреНрдЪ рдЙрдкрд▓рдмреНрдзрддрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рдЕрдиреНрдп рддрд░реАрдХреЗ рд╣реИрдВ: рд╡реАрдЖрдИрдкреА рдФрд░ рдбреАрдПрдирдПрд╕, рд╕реЗрд╡рд╛ рдЦреЛрдЬ рдФрд░ рдкреНрд░реЙрдХреНрд╕реА рд╕реЗрд╡рд╛рдУрдВ, рд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдкреНрд░рддрд┐рдХреГрддрд┐ рдФрд░ рдЕрдиреНрдп рддрд░реАрдХреЛрдВ рдХрд╛ рд╕рдВрдпреЛрдЬрди рдЬрд┐рдирдХреЗ рдЕрдкрдиреЗ рдиреБрдХрд╕рд╛рди рдФрд░ рдлрд╛рдпрджреЗ рд╣реИрдВред

рдореИрдВрдиреЗ MySQL рдлреЗрд▓рдУрд╡рд░ рдХреНрд▓рд╕реНрдЯрд░ рдмрдирд╛рдиреЗ рдХреЗ рд╣рдорд╛рд░реЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреАред рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ рдФрд░ рд╡рд░реНрддрдорд╛рди рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдХрд╛ рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╕реНрддрд░ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЬреИрд╕реЗ-рдЬреИрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд╕рдВрдкреВрд░реНрдг рдкреНрд░рдгрд╛рд▓реА рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХрд╛ рд╡рд┐рдХрд╛рд╕ рд╣реЛрдЧрд╛, рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдирд┐рд╕реНрд╕рдВрджреЗрд╣ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрдЧрд╛ред

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ