Orchestrator рд░ VIP рдПрдХ MySQL рдХреНрд▓рд╕реНрдЯрд░рдХреЛ рд▓рд╛рдЧрд┐ HA рд╕рдорд╛рдзрд╛рдирдХреЛ рд░реВрдкрдорд╛

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

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

Orchestrator рд░ VIP рдПрдХ MySQL рдХреНрд▓рд╕реНрдЯрд░рдХреЛ рд▓рд╛рдЧрд┐ HA рд╕рдорд╛рдзрд╛рдирдХреЛ рд░реВрдкрдорд╛

HA рд╕рдорд╛рдзрд╛рди VIP рдорд╛ рдЖрдзрд╛рд░рд┐рдд

рдкрд╣рд┐рд▓реЗ, рдо рддрдкрд╛рдЗрдБрд▓рд╛рдИ рдЫреЛрдЯрдХрд░реАрдорд╛ рд╣рд╛рдореНрд░реЛ рдбрд╛рдЯрд╛ рднрдгреНрдбрд╛рд░рдг рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд╣реЛ рднрдиреЗрд░ рдмрддрд╛рдЙрдиреЗрдЫреБред

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

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

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

рдпрджрд┐ рдорд╛рд╕реНрдЯрд░ рдЕрд╕рдлрд▓ рднрдПрдорд╛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрдиреЗ рдПрдЙрдЯрд╛ рд╕рд░рд▓ рддрд░рд┐рдХрд╛ рдлреНрд▓реЛрдЯрд┐рдВрдЧ VIP рдареЗрдЧрд╛рдирд╛рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБ рд╣реЛред

рдЕрдЧрд╛рдбрд┐ рдмрдвреНрдиреБ рдЕрдШрд┐ рддрдкрд╛рдИрд▓реЗ рдпрд╕ рд╕рдорд╛рдзрд╛рдирдХреЛ рдмрд╛рд░реЗрдорд╛ рдХреЗ рдЬрд╛рдиреНрди рдЖрд╡рд╢реНрдпрдХ рдЫ:

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

рд╣рд╛рдореНрд░реЛ рд╡рд┐рдЬрд╛рд░реНрдбрд╕рдБрдЧ рд╕рдореНрднрд╛рд╡рд┐рдд рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рд╣реЗрд░реМрдВ рд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░рд┐рдХрднрд░реА рдореЗрдХрд╛рдирд┐рдЬрдорд▓реЗ рдХрд╕рд░реА рдХрд╛рдо рдЧрд░реНрдиреБрдкрд░реНрдЫ рднрдиреЗрд░ рдХрд▓реНрдкрдирд╛ рдЧрд░реМрдВред

рдорд╛рд╕реНрдЯрд░рдорд╛ рдиреЗрдЯрд╡рд░реНрдХ рдЬрдбрд╛рди рдЧрд╛рдпрдм рднрдПрдХреЛ рдЫ, рд╡рд╛ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╕реНрддрд░рдорд╛ рд╕рдорд╕реНрдпрд╛ рдЙрддреНрдкрдиреНрди рднрдПрдХреЛ рдЫ, рд░ рд╕рд░реНрднрд░ рдЕрдиреБрдкрд▓рдмреНрдз рдЫред

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

рд╕рд░реНрднрд░ рд╕рд╛рдорд╛рдиреНрдп рдореЛрдбрдорд╛ рдХрд╛рдо рдЧрд░рд┐рд░рд╣реЗрдХреЛ рдЫ, DBMS рд╕реНрддрд░рдорд╛ рд╡рд┐рдлрд▓рддрд╛ рднрдпреЛ

рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдЕрдШрд┐рд▓реНрд▓реЛ рдХреЗрд╕ рдЬрд╕реНрддреИ рдЫ: рдЯреЛрдкреЛрд▓реЛрдЬреА рдЕрдкрдбреЗрдЯ рдЧрд░реНрджреИ рд░ рд░рд┐рдХрднрд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реБрд░реБ рдЧрд░реНрджреИред рд╕рд░реНрднрд░ рдЙрдкрд▓рдмреНрдз рднрдПрдХреЛрд▓реЗ, рд╣рд╛рдореАрд▓реЗ рдкреБрд░рд╛рдиреЛ рдорд╛рд╕реНрдЯрд░рдорд╛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ VIP рдЬрд╛рд░реА рдЧрд░реНрдЫреМрдВ, рдпрд╕рд▓рд╛рдИ рдирдпрд╛рдБрдорд╛ рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг рдЧрд░реНрдЫреМрдВ, рд░ рдзреЗрд░реИ ARP рдЕрдиреБрд░реЛрдзрд╣рд░реВ рдкрдард╛рдЙрдБрдЫреМрдВред рдкреБрд░рд╛рдиреЛ рдорд╛рд╕реНрдЯрд░рдХреЛ рд╕рдореНрднрд╛рд╡рд┐рдд рдлрд┐рд░реНрддрд╛рд▓реЗ рдкреБрди: рдирд┐рд░реНрдорд┐рдд рдХреНрд▓рд╕реНрдЯрд░ рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧрдХреЛ рд╕рдЮреНрдЪрд╛рд▓рдирд▓рд╛рдИ рдЕрд╕рд░ рдкрд╛рд░реНрдиреБ рд╣реБрдБрджреИрдиред

рдЕрдиреНрдп рд╕рдорд╕реНрдпрд╛рд╣рд░реВ

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

рднрд░реНрдЪреБрдЕрд▓ рдиреЗрдЯрд╡рд░реНрдХ рдЗрдиреНрдЯрд░рдлреЗрд╕ рд╕рдзреИрдВ рдЕрд╕реНрдерд╛рдпреА рд░реВрдкрдорд╛ рдердкрд┐рдПрдХреЛ рдЫ, рддреНрдпреЛ рд╣реЛ, рд╕рд░реНрднрд░ рд░рд┐рдмреБрдЯ рдкрдЫрд┐, VIP рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдкрдорд╛ рддреЛрдХрд┐рдПрдХреЛ рдЫреИрдиред рдкреНрд░рддреНрдпреЗрдХ рдбрд╛рдЯрд╛рдмреЗрд╕ рдЙрджрд╛рд╣рд░рдг рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░реВрдкрдорд╛ рдкрдвреНрди-рдорд╛рддреНрд░ рдореЛрдбрдорд╛ рд╕реБрд░реБ рд╣реБрдиреНрдЫ, рдЕрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрдЯрд░рд▓реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдкрдорд╛ рдирдпрд╛рдБ рдорд╛рд╕реНрдЯрд░рд▓рд╛рдИ рд▓реЗрдЦреНрдирдХреЛ рд▓рд╛рдЧрд┐ рд╕реНрд╡рд┐рдЪ рдЧрд░реНрджрдЫ рд░ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрджрдЫред read only рдкреБрд░рд╛рдиреЛ рдорд╛рд╕реНрдЯрд░ рдорд╛ред рдпреА рдХрд╛рд░реНрдпрд╣рд░реВ рд╕рдореНрднрд╛рд╡рдирд╛ рдХрдо рдЧрд░реНрдиреЗ рдЙрджреНрджреЗрд╢реНрдпрд▓реЗ рдЧрд░рд┐рдиреНрдЫ split brain.

рд░рд┐рдХрднрд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдХреЛ рдХреНрд░рдордорд╛ рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рдЙрддреНрдкрдиреНрди рд╣реБрди рд╕рдХреНрдЫрдиреН, рдЬреБрди рдорд╛рдирдХ рдирд┐рдЧрд░рд╛рдиреА рдЙрдкрдХрд░рдгрд╣рд░реВрдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рдЕрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрдЯрд░ UI рдорд╛рд░реНрдлрдд рдкрдирд┐ рд╕реВрдЪрд┐рдд рдЧрд░рд┐рдиреБ рдкрд░реНрдЫред рд╣рд╛рдореАрд▓реЗ рдпреЛ рд╕реБрд╡рд┐рдзрд╛ рдердкреЗрд░ REST API рд╡рд┐рд╕реНрддрд╛рд░ рдЧрд░реЗрдХрд╛ рдЫреМрдВ (PR рд╣рд╛рд▓ рд╕рдореАрдХреНрд╖рд╛ рдЕрдиреНрддрд░реНрдЧрдд)ред

HA рд╕рдорд╛рдзрд╛рдирдХреЛ рд╕рд╛рдорд╛рдиреНрдп рд░реЗрдЦрд╛рдЪрд┐рддреНрд░ рддрд▓ рдкреНрд░рд╕реНрддреБрдд рдЧрд░рд┐рдПрдХреЛ рдЫред

Orchestrator рд░ VIP рдПрдХ MySQL рдХреНрд▓рд╕реНрдЯрд░рдХреЛ рд▓рд╛рдЧрд┐ HA рд╕рдорд╛рдзрд╛рдирдХреЛ рд░реВрдкрдорд╛

рдирдпрд╛рдБ рдорд╛рд╕реНрдЯрд░ рдЫрд╛рдиреНрджреИ

рдЕрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрдЯрд░ рдкрд░реНрдпрд╛рдкреНрдд рд╕реНрдорд╛рд░реНрдЯ рдЫ рд░ рдЫрдиреМрдЯ рдЧрд░реНрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрджрдЫ рд╕рдмреИрднрдиреНрджрд╛ рдЙрдкрдпреБрдХреНрдд рдкреНрд░рддрд┐рдХреГрддрд┐ рдирд┐рдореНрди рдорд╛рдкрджрдгреНрдб рдЕрдиреБрд╕рд╛рд░ рдирдпрд╛рдБ рдорд╛рд╕реНрдЯрд░рдХреЛ рд░реВрдкрдорд╛:

  • рдкреНрд░рддрд┐рдХреГрддрд┐ рдорд╛рд╕реНрдЯрд░ рдкрдЫрд┐ рдкрдЫрд┐ рдЫ;
  • рдорд╛рд╕реНрдЯрд░ рд░ рдкреНрд░рддрд┐рдХреГрддрд┐рдХреЛ MySQL рд╕рдВрд╕реНрдХрд░рдг;
  • рдкреНрд░рддрд┐рдХреГрддрд┐ рдкреНрд░рдХрд╛рд░ (RBR, SBR рд╡рд╛ рдорд┐рд╢реНрд░рд┐рдд);
  • рдПрдЙрдЯреИ рд╡рд╛ рдлрд░рдХ рдбрд╛рдЯрд╛ рдХреЗрдиреНрджреНрд░рд╣рд░реВрдорд╛ рд╕реНрдерд╛рди;
  • рдЙрдкрд▓рдмреНрдзрддрд╛ 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 - рдЯреЛрдкреЛрд▓реЛрдЬреА рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЛ рдЖрд╡реГрддреНрддрд┐ред рдпрджрд┐ рд╕рдорд╕реНрдпрд╛ рдкрддреНрддрд╛ рд▓рд╛рдЧреНрдпреЛ рднрдиреЗ, рдЯреЛрдкреЛрд▓реЛрдЬреА рд░рд┐рдХрднрд░реА рд╕реБрд░реБ рд╣реБрдиреНрдЫред рдпреЛ рд╕реНрдерд┐рд░, рез рд╕реЗрдХреЗрдиреНрдб рдмрд░рд╛рдмрд░ред

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

рдкрд░реАрдХреНрд╖рдг рд╕реНрдЯреНрдпрд╛рдиреНрдб

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

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

  • рдЕрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрдЯрд░рд▓реЗ рдорд╛рд╕реНрдЯрд░рд╕рдБрдЧ рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рдкрддреНрддрд╛ рд▓рдЧрд╛рдЙрдиреЗрдЫ рд░ 10 рд╕реЗрдХреЗрдиреНрдб рднрдиреНрджрд╛ рдмрдвреАрдорд╛ рдЯреЛрдкреЛрд▓реЛрдЬреА рдЕрдкрдбреЗрдЯ рдЧрд░реНрдиреЗрдЫ;
  • рд░рд┐рдХрднрд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдкрдорд╛ рд╕реБрд░реБ рд╣реБрдиреЗрдЫ: рдиреЗрдЯрд╡рд░реНрдХ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдкрд░рд┐рд╡рд░реНрддрди рд╣реБрдиреЗрдЫ, рдорд╛рд╕реНрдЯрд░рдХреЛ рднреВрдорд┐рдХрд╛ рдкреНрд░рддрд┐рдХреГрддрд┐рдорд╛ рдЬрд╛рдиреЗрдЫ, рдЯреЛрдкреЛрд▓реЛрдЬреА рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рд╣реБрдиреЗрдЫ;
  • рдирдпрд╛рдБ рдорд╛рд╕реНрдЯрд░ рд▓реЗрдЦреНрди рдпреЛрдЧреНрдп рд╣реБрдиреЗрдЫ, рдкреНрд░рддреНрдпрдХреНрд╖ рдкреНрд░рддрд┐рдХреГрддрд┐рд╣рд░реВ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛рдорд╛ рд╣рд░рд╛рдЙрдиреЗ рдЫреИрди;
  • рдбрд╛рдЯрд╛ рдирдпрд╛рдБ рдорд╛рд╕реНрдЯрд░рдорд╛ рд▓реЗрдЦреНрди рд░ рдирдХреНрдХрд▓ рдЧрд░реНрди рд╕реБрд░реБ рд╣реБрдиреЗрдЫ;
  • рдХреБрд▓ рд░рд┐рдХрднрд░реА рд╕рдордп 30 рд╕реЗрдХреЗрдиреНрдб рднрдиреНрджрд╛ рдмрдвреА рд╣реБрдиреЗрдЫреИрдиред

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

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

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

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

рдпрджреНрдпрдкрд┐, рд╕рдорд╛рдзрд╛рдирдорд╛ рдпрд╕рдХреЛ рд╕реАрдорд┐рддрддрд╛ рд░ рдмреЗрдлрд╛рдЗрджрд╛рд╣рд░реВ рдЫрдиреН:

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

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

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

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

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