рдлрд╝реЗрд▓рдУрд╡рд░ рдХреНрд▓рд╕реНрдЯрд░ PostgreSQL + рдкреЗрдЯреНрд░реЛрдиреАред рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдЕрдиреБрднрд╡

рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рд╣рдордиреЗ PostgreSQL рджреЛрд╖ рд╕рд╣рд┐рд╖реНрдгреБрддрд╛ рдХреЗ рдореБрджреНрджреЗ рдкрд░ рдХреИрд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд┐рдпрд╛, рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдХреНрдпреЛрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реЛ рдЧрдпрд╛ рдФрд░ рдЕрдВрдд рдореЗрдВ рдХреНрдпрд╛ рд╣реБрдЖред

рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрддреНрдпрдзрд┐рдХ рднрд░реА рд╣реБрдИ рд╕реЗрд╡рд╛ рд╣реИ: рджреБрдирд┐рдпрд╛ рднрд░ рдореЗрдВ 2,5 рдорд┐рд▓рд┐рдпрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛, рд╣рд░ рджрд┐рди 50K+ рд╕рдХреНрд░рд┐рдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ред рд╕рд░реНрд╡рд░ рдЖрдпрд░рд▓реИрдВрдб рдХреЗ рдПрдХ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдЕрдореЗрдЬрд╝реЕрди рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИрдВ: 100+ рд╡рд┐рднрд┐рдиреНрди рд╕рд░реНрд╡рд░ рд▓рдЧрд╛рддрд╛рд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рд▓рдЧрднрдЧ 50 рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рд╣реИрдВред

рд╕рдВрдкреВрд░реНрдг рдмреИрдХрдПрдВрдб рдПрдХ рдмрдбрд╝рд╛ рдореЛрдиреЛрд▓рд┐рдерд┐рдХ рд╕реНрдЯреЗрдЯрдлреБрд▓ рдЬрд╛рд╡рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣реИ рдЬреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд╕рд╛рде рдирд┐рд░рдВрддрд░ рд╡реЗрдмрд╕реЙрдХреЗрдЯ рдХрдиреЗрдХреНрд╢рди рд░рдЦрддрд╛ рд╣реИред рдЬрдм рдХрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдПрдХ рд╣реА рдмреЛрд░реНрдб рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╡реЗ рд╕рднреА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рджреЗрдЦрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВред рд╣рдорд╛рд░реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рд▓рдЧрднрдЧ 10K рдЕрдиреБрд░реЛрдз рдЖрддреЗ рд╣реИрдВред рд░реЗрдбрд┐рд╕ рдореЗрдВ рдЪрд░рдо рд▓реЛрдб рдкрд░, рд╣рдо рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб 80-100K рдЕрдиреБрд░реЛрдз рд▓рд┐рдЦрддреЗ рд╣реИрдВред
рдлрд╝реЗрд▓рдУрд╡рд░ рдХреНрд▓рд╕реНрдЯрд░ PostgreSQL + рдкреЗрдЯреНрд░реЛрдиреАред рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдЕрдиреБрднрд╡

рд╣рдордиреЗ Redis рд╕реЗ PostgreSQL рдкрд░ рд╕реНрд╡рд┐рдЪ рдХреНрдпреЛрдВ рдХрд┐рдпрд╛

рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рд╣рдорд╛рд░реА рд╕реЗрд╡рд╛ рд░реЗрдбрд┐рд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреА рдереА, рдЬреЛ рдПрдХ рдХреБрдВрдЬреА-рдореВрд▓реНрдп рд╕реНрдЯреЛрд░ рд╣реИ рдЬреЛ рд╕рд░реНрд╡рд░ рдХреА рд░реИрдо рдореЗрдВ рд╕рднреА рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред

рд░реЗрдбрд┐рд╕ рдХреЗ рдкреЗрд╢реЗрд╡рд░:

  1. рдЙрдЪреНрдЪ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЧрддрд┐, рдХреНрдпреЛрдВрдХрд┐ рд╕рдм рдХреБрдЫ рд╕реНрдореГрддрд┐ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИ;
  2. рдмреИрдХрдЕрдк рдФрд░ рдкреНрд░рддрд┐рдХреГрддрд┐ рдореЗрдВ рдЖрд╕рд╛рдиреА.

рд╣рдорд╛рд░реЗ рд▓рд┐рдП рд░реЗрдбрд┐рд╕ рдХреЗ рд╡рд┐рдкрдХреНрд╖:

  1. рдХреЛрдИ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд▓реЗрди-рджреЗрди рдирд╣реАрдВ рд╣реИ. рд╣рдордиреЗ рдЕрдкрдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕реНрддрд░ рдкрд░ рдЙрдирдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдпрд╣ рд╣рдореЗрд╢рд╛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рдерд╛ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рдереАред
  2. рдбреЗрдЯрд╛ рдХреА рдорд╛рддреНрд░рд╛ рдореЗрдореЛрд░реА рдХреА рдорд╛рддреНрд░рд╛ рд╕реЗ рд╕реАрдорд┐рдд рд╣реЛрддреА рд╣реИред рдЬреИрд╕реЗ-рдЬреИрд╕реЗ рдбреЗрдЯрд╛ рдХреА рдорд╛рддреНрд░рд╛ рдмрдврд╝реЗрдЧреА, рдореЗрдореЛрд░реА рдмрдврд╝реЗрдЧреА, рдФрд░ рдЕрдВрдд рдореЗрдВ, рд╣рдо рдЪрдпрдирд┐рдд рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдореЗрдВ рдЪрд▓реЗрдВрдЧреЗ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП AWS рдореЗрдВ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реА рд╕реЗрд╡рд╛ рдХреЛ рд░реЛрдХрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
  3. рдирд┐рдореНрди рд╡рд┐рд▓рдВрдмрддрд╛ рд╕реНрддрд░ рдХреЛ рд▓рдЧрд╛рддрд╛рд░ рдмрдирд╛рдП рд░рдЦрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐. рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдмрд╣реБрдд рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЕрдиреБрд░реЛрдз рд╣реИрдВред рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЗрд╖реНрдЯрддрдо рд╡рд┐рд▓рдВрдм рд╕реНрддрд░ 17-20 рдПрдордПрд╕ рд╣реИред 30-40 рдПрдордПрд╕ рдХреЗ рд╕реНрддрд░ рдкрд░, рд╣рдореЗрдВ рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рдФрд░ рд╕реЗрд╡рд╛ рдореЗрдВ рдЧрд┐рд░рд╛рд╡рдЯ рдХреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдкрд░ рд▓рдВрдмреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдПрдБ рдорд┐рд▓рддреА рд╣реИрдВред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд╕рд┐рддрдВрдмрд░ 2018 рдореЗрдВ рд╣рдорд╛рд░реЗ рд╕рд╛рде рдРрд╕рд╛ рд╣реБрдЖ, рдЬрдм рд░реЗрдбрд┐рд╕ рдХреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рд╕реЗ 2 рдЧреБрдирд╛ рдЕрдзрд┐рдХ рд╡рд┐рд▓рдВрдмрддрд╛ рдкреНрд░рд╛рдкреНрдд рд╣реБрдИред рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рдЕрдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░рдЦрд░рдЦрд╛рд╡ рдХреЗ рд▓рд┐рдП рдордзреНрдпрд╛рд╣реНрди рдореЗрдВ рд╕реЗрд╡рд╛ рдмрдВрдж рдХрд░ рджреА рдФрд░ рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд рд░реЗрдбрд┐рд╕ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛ред
  4. рдХреЛрдб рдореЗрдВ рдЫреЛрдЯреА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рднреА рдбреЗрдЯрд╛ рдЕрд╕рдВрдЧрддрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ рдФрд░ рдлрд┐рд░ рдЗрд╕ рдбреЗрдЯрд╛ рдХреЛ рд╕рд╣реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдореЗрдВ рдмрд╣реБрдд рд╕рдордп рд╡реНрдпрддреАрдд рд╣реЛрддрд╛ рд╣реИред

рд╣рдордиреЗ рдХрдорд┐рдпреЛрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛ рдФрд░ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдХрд┐ рд╣рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдп рд▓реЗрдирджреЗрди рдФрд░ рд╡рд┐рд▓рдВрдмрддрд╛ рдкрд░ рдХрдо рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЪреАрдЬрд╝ рдХреА рдУрд░ рдмрдврд╝рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИред рд╢реЛрдз рдХрд┐рдпрд╛, рдХрдИ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд┐рдпрд╛ рдФрд░ PostgreSQL рдХреЛ рдЪреБрдирд╛ред

рд╣рдо 1,5 рд╡рд░реНрд╖реЛрдВ рд╕реЗ рдПрдХ рдирдП рдбреЗрдЯрд╛рдмреЗрд╕ рдкрд░ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдбреЗрдЯрд╛ рдХрд╛ рдХреЗрд╡рд▓ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реА рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рдкрд╛рдП рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЕрдм рд╣рдо Redis рдФрд░ PostgreSQL рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдмреАрдЪ рдбреЗрдЯрд╛ рд▓реЗ рдЬрд╛рдиреЗ рдФрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рдЪрд░рдгреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдЗрд╕рдореЗрдВ рд▓рд┐рдЦреА рдЧрдИ рд╣реИ рдореЗрд░реЗ рд╕рд╣рдХрд░реНрдореА рдХрд╛ рд▓реЗрдЦ.

рдЬрдм рд╣рдордиреЗ рдкрд╣рд▓реА рдмрд╛рд░ рдЖрдЧреЗ рдмрдврд╝рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛, рддреЛ рд╣рдорд╛рд░рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реАрдзреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рдерд╛ рдФрд░ рдорд╛рд╕реНрдЯрд░ рд░реЗрдбрд┐рд╕ рдФрд░ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдПрд╕рдХреНрдпреВрдПрд▓ рддрдХ рдкрд╣реБрдВрдЪрддрд╛ рдерд╛ред PostgreSQL рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдПрдХ рдорд╛рд╕реНрдЯрд░ рдФрд░ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреЗ рд╕рд╛рде рдПрдХ рдкреНрд░рддрд┐рдХреГрддрд┐ рд╢рд╛рдорд┐рд▓ рдереАред рдбреЗрдЯрд╛рдмреЗрд╕ рдпреЛрдЬрдирд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рджрд┐рдЦрддреА рдереА:
рдлрд╝реЗрд▓рдУрд╡рд░ рдХреНрд▓рд╕реНрдЯрд░ PostgreSQL + рдкреЗрдЯреНрд░реЛрдиреАред рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдЕрдиреБрднрд╡

рдкреАрдЬреАрдмрд╛рдЙрдВрд╕рд░ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди

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

рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХрдиреЗрдХреНрд╢рди рдореИрдиреЗрдЬрд░ рдХреЗ рд▓рд┐рдП рджреЛ рд╡рд┐рдХрд▓реНрдк рдереЗ: Pgpool рдФрд░ PgBouncerред рд▓реЗрдХрд┐рди рдкрд╣рд▓рд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓реЗрди-рджреЗрди рдореЛрдб рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдордиреЗ PgBouncer рдХреЛ рдЪреБрдирд╛ред

рд╣рдордиреЗ рдХрд╛рд░реНрдп рдХреА рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдпреЛрдЬрдирд╛ рд╕реНрдерд╛рдкрд┐рдд рдХреА рд╣реИ: рд╣рдорд╛рд░рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдПрдХ PgBouncer рддрдХ рдкрд╣реБрдВрдЪрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдкреАрдЫреЗ PostgreSQL рдорд╛рд╕реНрдЯрд░реНрд╕ рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдорд╛рд╕реНрдЯрд░ рдХреЗ рдкреАрдЫреЗ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреЗ рд╕рд╛рде рдПрдХ рдкреНрд░рддрд┐рдХреГрддрд┐ рд╣реЛрддреА рд╣реИред
рдлрд╝реЗрд▓рдУрд╡рд░ рдХреНрд▓рд╕реНрдЯрд░ PostgreSQL + рдкреЗрдЯреНрд░реЛрдиреАред рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдЕрдиреБрднрд╡

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

рдкреАрдЬреАрдмрд╛рдЙрдВрд╕рд░ рд╡рд┐рдлрд▓рддрд╛

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

рдЙрд╕рдХреЗ рдмрд╛рдж, рд╣рдордиреЗ PgBouncer рдФрд░ PostgreSQL рдХреНрд▓рд╕реНрдЯрд░ рдХреА рджреЛрд╖ рд╕рд╣рдирд╢реАрд▓рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рд╕реЛрдЪрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реЗ AWS рдЦрд╛рддреЗ рдореЗрдВ рдХрд┐рд╕реА рднреА рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рдРрд╕реА рд╣реА рд╕реНрдерд┐рддрд┐ рд╣реЛ рд╕рдХрддреА рд╣реИред

рд╣рдордиреЗ PgBouncer рджреЛрд╖ рд╕рд╣рд┐рд╖реНрдгреБрддрд╛ рдпреЛрдЬрдирд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдмрдирд╛рдИ: рд╕рднреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд░реНрд╡рд░ рдиреЗрдЯрд╡рд░реНрдХ рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рддрдХ рдкрд╣реБрдВрдЪрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рдкреАрдЫреЗ рджреЛ PgBouncers рд╣реЛрддреЗ рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ PgBouncer рдкреНрд░рддреНрдпреЗрдХ рд╢рд╛рд░реНрдб рдХреЗ рд╕рдорд╛рди PostgreSQL рдорд╛рд╕реНрдЯрд░ рдХреЛ рджреЗрдЦрддрд╛ рд╣реИред рдпрджрд┐ AWS рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдХреНрд░реИрд╢ рджреЛрдмрд╛рд░рд╛ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд╕рд╛рд░рд╛ рдЯреНрд░реИрдлрд╝рд┐рдХ рджреВрд╕рд░реЗ PgBouncer рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдиреЗрдЯрд╡рд░реНрдХ рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рдлреЗрд▓рдУрд╡рд░ AWS рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдпрд╣ рдпреЛрдЬрдирд╛ рдирдП PgBouncer рд╕рд░реНрд╡рд░ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рддреА рд╣реИред
рдлрд╝реЗрд▓рдУрд╡рд░ рдХреНрд▓рд╕реНрдЯрд░ PostgreSQL + рдкреЗрдЯреНрд░реЛрдиреАред рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдЕрдиреБрднрд╡

рдПрдХ PostgreSQL рдлреЗрд▓рдУрд╡рд░ рдХреНрд▓рд╕реНрдЯрд░ рдмрдирд╛рдПрдВ

рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рддреЗ рд╕рдордп, рд╣рдордиреЗ рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛: рд╕реНрд╡-рд▓рд┐рдЦрд┐рдд рдлреЗрд▓рдУрд╡рд░, рд░рд┐рдкрдПрдордЬреАрдЖрд░, рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рдЖрд░рдбреАрдПрд╕, рдкреЗрдЯреНрд░реЛрдиреАред

рд╕реНрд╡-рд▓рд┐рдЦрд┐рдд рд╕реНрдХреНрд░рд┐рдкреНрдЯ

рд╡реЗ рдорд╛рд╕реНрдЯрд░ рдХреЗ рдХрд╛рдо рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░, рдпрджрд┐ рдпрд╣ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдорд╛рд╕реНрдЯрд░ рдХреЛ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреЛ рдмрдврд╝рд╛рд╡рд╛ рджреЗрдВ рдФрд░ PgBouncer рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВред

рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рд▓рд╛рдн рдЕрдзрд┐рдХрддрдо рд╕рд░рд▓рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рд╕реНрд╡рдпрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдФрд░ рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рд╡реЗ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИрдВред

рд╡рд┐рдкрдХреНрд╖:

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

рд╕реНрд╡-рд▓рд┐рдЦрд┐рдд рд╡рд┐рдлрд▓рддрд╛ рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рд▓рдЧрддреА рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЧреИрд░-рддреБрдЪреНрдЫ рд╕рдорд░реНрдерди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдПрдХрд▓ PostgreSQL рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд╕рд╛рде, рдпрд╣ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рд╡рд┐рдХрд▓реНрдк рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рд╕реНрдХреЗрд▓ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИред

Repmgr

PostgreSQL рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдХреГрддрд┐ рдкреНрд░рдмрдВрдзрдХ, рдЬреЛ PostgreSQL рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╕рд╛рде рд╣реА, рдЗрд╕рдореЗрдВ рдмреЙрдХреНрд╕ рд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдлрд╝реЗрд▓рдУрд╡рд░ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рддреИрдпрд╛рд░ рд╕рдорд╛рдзрд╛рди рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ "рд░реИрдкрд░" рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ред рдЗрд╕рд▓рд┐рдП рд╕рдм рдХреБрдЫ рд╕реНрд╡-рд▓рд┐рдЦрд┐рдд рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рднреА рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдордиреЗ Repmgr рдХрд╛ рдкреНрд░рдпрд╛рд╕ рднреА рдирд╣реАрдВ рдХрд┐рдпрд╛ред

рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рдЖрд░рдбреАрдПрд╕

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

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

net.ipv4.tcp_keepalive_time=10
net.ipv4.tcp_keepalive_intvl=1
net.ipv4.tcp_keepalive_probes=5
net.ipv4.tcp_retries2=3

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, AWS RDS рдирд┐рдпрдорд┐рдд рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдХреАрдордд рд╕реЗ рд▓рдЧрднрдЧ рджреЛрдЧреБрдирд╛ рдорд╣рдВрдЧрд╛ рд╣реИ, рдЬреЛ рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХрд╛ рдореБрдЦреНрдп рдХрд╛рд░рдг рдерд╛ред

рд╕рдВрд░рдХреНрд╖рдХ

рдпрд╣ рдЕрдЪреНрдЫреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг, рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдлрд╝реЗрд▓рдУрд╡рд░ рдФрд░ рдЬреАрдердм рдкрд░ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЗ рд╕рд╛рде PostgreSQL рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд╛рдпрдерди рдЯреЗрдореНрдкрд▓реЗрдЯ рд╣реИред

рдкреЗрдЯреНрд░реЛрдиреА рдХреЗ рдкреЗрд╢реЗрд╡рд░:

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

рд╡рд┐рдкрдХреНрд╖:

  • рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╕реЗ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ PgBouncer рдХреЗ рд╕рд╛рде рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХреИрд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛рдПред рд╣рд╛рд▓рд╛рдБрдХрд┐ рдЗрд╕реЗ рдорд╛рдЗрдирд╕ рдХрд╣рдирд╛ рдХрдард┐рди рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдкреЗрдЯреНрд░реЛрдиреА рдХрд╛ рдХрд╛рд░реНрдп PostgreSQL рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдирд╛ рд╣реИ, рдФрд░ рдкреЗрдЯреНрд░реЛрдиреА рд╕реЗ рдХрдиреЗрдХреНрд╢рди рдХреИрд╕реЗ рд╣реЛрдЧрд╛ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣рдорд╛рд░реА рд╕рдорд╕реНрдпрд╛ рд╣реИ;
  • рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдкреЗрдЯреНрд░реЛрдиреА рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдХреБрдЫ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВ, рдЬрдмрдХрд┐ рд╢реБрд░реБрдЖрдд рд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдХрдИ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВред

рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдордиреЗ рдлреЗрд▓рдУрд╡рд░ рдХреНрд▓рд╕реНрдЯрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреЗрдЯреНрд░реЛрдиреА рдХреЛ рдЪреБрдирд╛ред

рдкреЗрдЯреНрд░реЛрдиреА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкреНрд░рдХреНрд░рд┐рдпрд╛

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

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

рдкреЗрдЯреНрд░реЛрдиреА рдХрдВрд╕рд▓ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИ

рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдХреЙрдиреНрд╕рд▓ рдХреНрд▓рд╕реНрдЯрд░ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рддреАрди рдиреЛрдбреНрд╕ рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рдПрдХ рдкреЗрдЯреНрд░реЛрдиреА рдХреНрд▓рд╕реНрдЯрд░, рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд▓реАрдбрд░ рдФрд░ рдПрдХ рдкреНрд░рддрд┐рдХреГрддрд┐ рд╣реЛрддреА рд╣реИ (рдкреИрдЯреНрд░реЛрдиреА рдореЗрдВ, рдорд╛рд╕реНрдЯрд░ рдХреЛ рдХреНрд▓рд╕реНрдЯрд░ рд▓реАрдбрд░ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рджрд╛рд╕реЛрдВ рдХреЛ рдкреНрд░рддрд┐рдХреГрддрд┐рдпрд╛рдВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ)ред рдкреЗрдЯреНрд░реЛрдиреА рдХреНрд▓рд╕реНрдЯрд░ рдХрд╛ рдкреНрд░рддреНрдпреЗрдХ рдЙрджрд╛рд╣рд░рдг рд▓рдЧрд╛рддрд╛рд░ рдХреНрд▓рд╕реНрдЯрд░ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЙрдиреНрд╕рд▓ рдХреЛ рдЬрд╛рдирдХрд╛рд░реА рднреЗрдЬрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдХреМрдВрд╕рд▓ рд╕реЗ рдЖрдк рд╣рдореЗрд╢рд╛ рдкреИрдЯреНрд░реЛрдиреА рдХреНрд▓рд╕реНрдЯрд░ рдХреА рд╡рд░реНрддрдорд╛рди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕ рд╕рдордп рдиреЗрддрд╛ рдХреМрди рд╣реИред

рдлрд╝реЗрд▓рдУрд╡рд░ рдХреНрд▓рд╕реНрдЯрд░ PostgreSQL + рдкреЗрдЯреНрд░реЛрдиреАред рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдЕрдиреБрднрд╡

рдкреЗрдЯреНрд░реЛрдиреА рдХреЛ рдХреЙрдиреНрд╕рд▓ рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рджрд╕реНрддрд╛рд╡реЗрдЬ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рдЬреЛ рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ HTTP рдпрд╛ https рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдПрдХ рд╣реЛрд╕реНрдЯ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдпрд╣ рдЗрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдХреЙрдиреНрд╕рд▓ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдХрдиреЗрдХреНрд╢рди рдпреЛрдЬрдирд╛, рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ:

host: the host:port for the Consul endpoint, in format: http(s)://host:port
scheme: (optional) http or https, defaults to http

рдпрд╣ рд╕рд░рд▓ рджрд┐рдЦрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣реАрдВ рд╕реЗ рдЦрд╝рддрд░реЗ рд╢реБрд░реВ рд╣реЛрддреЗ рд╣реИрдВред рдХреЙрдиреНрд╕рд▓ рдХреЗ рд╕рд╛рде, рд╣рдо https рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рд╕реБрд░рдХреНрд╖рд┐рдд рдХрдиреЗрдХреНрд╢рди рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╣рдорд╛рд░рд╛ рдХрдиреЗрдХреНрд╢рди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:

consul:
  host: https://server.production.consul:8080 
  verify: true
  cacert: {{ consul_cacert }}
  cert: {{ consul_cert }}
  key: {{ consul_key }}

рд▓реЗрдХрд┐рди рд╡рд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛. рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░, рдкреЗрдЯреНрд░реЛрдиреА рдХреЙрдиреНрд╕рд▓ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╡реИрд╕реЗ рднреА http рд╕реЗ рдЧреБрдЬрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИред

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

consul:
  host: server.production.consul:8080
  scheme: https
  verify: true
  cacert: {{ consul_cacert }}
  cert: {{ consul_cert }}
  key: {{ consul_key }}

рдХреМрдВрд╕реБрд▓-рдЯреЗрдореНрдкрд▓реЗрдЯ

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

рд╕рдорд╛рдзрд╛рди рдХреА рддрд▓рд╛рд╢ рдореЗрдВ, рд╣рдореЗрдВ рдПрдХ рд▓реЗрдЦ рдорд┐рд▓рд╛ (рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдореБрдЭреЗ рд╢реАрд░реНрд╖рдХ рдпрд╛рдж рдирд╣реАрдВ рд╣реИ) рдЬрд╣рд╛рдВ рд▓рд┐рдЦрд╛ рдерд╛ рдХрд┐ рдХрдВрд╕рд▓-рдЯреЗрдореНрдкрд▓реЗрдЯ рдиреЗ рдкреАрдЬреАрдмрд╛рдЙрдВрд╕рд░ рдФрд░ рдкреИрдЯреНрд░реЛрдиреА рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдореЗрдВ рдмрд╣реБрдд рдорджрдж рдХреАред рдЗрд╕рдиреЗ рд╣рдореЗрдВ рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЗрд░рд┐рдд рдХрд┐рдпрд╛ рдХрд┐ рдХреЙрдиреНрд╕рд▓-рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

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

рдлрд╝реЗрд▓рдУрд╡рд░ рдХреНрд▓рд╕реНрдЯрд░ PostgreSQL + рдкреЗрдЯреНрд░реЛрдиреАред рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдЕрдиреБрднрд╡

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

рдкреЗрдЯреНрд░реЛрдиреА рдХреЗ рд╕рд╛рде рдирдИ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛

рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░реНрдп рдпреЛрдЬрдирд╛ рдорд┐рд▓реА:
рдлрд╝реЗрд▓рдУрд╡рд░ рдХреНрд▓рд╕реНрдЯрд░ PostgreSQL + рдкреЗрдЯреНрд░реЛрдиреАред рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдЕрдиреБрднрд╡

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

рдореИрдиреБрдЕрд▓ рдкрд░реАрдХреНрд╖рдг

рд╣рдордиреЗ рдЗрд╕ рдпреЛрдЬрдирд╛ рдХреЛ рдПрдХ рдЫреЛрдЯреЗ рдкрд░реАрдХреНрд╖рдг рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЪрд▓рд╛рдпрд╛ рдФрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╕реНрд╡рд┐рдЪрд┐рдВрдЧ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреА рдЬрд╛рдБрдЪ рдХреАред рдЙрдиреНрд╣реЛрдВрдиреЗ рдмреЛрд░реНрдб рдЦреЛрд▓рд╛, рд╕реНрдЯрд┐рдХрд░ рд╣рдЯрд╛рдпрд╛ рдФрд░ рдЙрд╕реА рдХреНрд╖рдг рдЙрдиреНрд╣реЛрдВрдиреЗ рд╕рдореВрд╣ рдХреЗ рдиреЗрддрд╛ рдХреЛ "рдорд╛рд░ рдбрд╛рд▓рд╛"ред AWS рдореЗрдВ, рдпрд╣ рдХрдВрд╕реЛрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдЬрд┐рддрдирд╛ рд╕рд░рд▓ рд╣реИред

рдлрд╝реЗрд▓рдУрд╡рд░ рдХреНрд▓рд╕реНрдЯрд░ PostgreSQL + рдкреЗрдЯреНрд░реЛрдиреАред рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдЕрдиреБрднрд╡

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

рдЙрдЪреНрдЪ рднрд╛рд░ рдХреЗ рддрд╣рдд рдХреИрд╕реЗ рдЬреАрд╡рд┐рдд рд░рд╣реЗрдВ рдФрд░ рдбрд╛рдЙрдирдЯрд╛рдЗрдо рдХреЛ рдиреНрдпреВрдирддрдо рдХреИрд╕реЗ рд░рдЦреЗрдВ?

рд╕рдм рдХреБрдЫ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ! рд▓реЗрдХрд┐рди рдирдП рдкреНрд░рд╢реНрди рд╣реИрдВ: рдпрд╣ рдЙрдЪреНрдЪ рднрд╛рд░ рдХреЗ рддрд╣рдд рдХреИрд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧрд╛? рдЙрддреНрдкрд╛рджрди рдореЗрдВ рд╣рд░ рдЪреАрдЬрд╝ рдХреЛ рдЬрд▓реНрджреА рдФрд░ рд╕реБрд░рдХреНрд╖рд┐рдд рддрд░реАрдХреЗ рд╕реЗ рдХреИрд╕реЗ рд░реЛрд▓ рдЖрдЙрдЯ рдХрд░реЗрдВ?

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

рджреЛрдиреЛрдВ рдХрд╛рд░реНрдп рдорд╣рддреНрд╡рд╛рдХрд╛рдВрдХреНрд╖реА рд▓рдЧрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдкрд╛рд╕ PostgreSQL 9.6 рд╣реИред рдХреНрдпрд╛ рд╣рдо рддреБрд░рдВрдд 11.2 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рд╣рдордиреЗ рдЗрд╕реЗ 2 рдЪрд░рдгреЛрдВ рдореЗрдВ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рд╣реИ: рдкрд╣рд▓реЗ 11.2 рдкрд░ рдЕрдкрдЧреНрд░реЗрдб рдХрд░реЗрдВ, рдлрд┐рд░ рдкреЗрдЯреНрд░реЛрдиреА рд▓реЙрдиреНрдЪ рдХрд░реЗрдВред

рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдПрд╕рдХреНрдпреВрдПрд▓ рдЕрдкрдбреЗрдЯ

PostgreSQL рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╢реАрдШреНрд░рддрд╛ рд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ -k, рдЬрд┐рд╕рдореЗрдВ рдбрд┐рд╕реНрдХ рдкрд░ рд╣рд╛рд░реНрдб рд▓рд┐рдВрдХ рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдЖрдкрдХреЗ рдбреЗрдЯрд╛ рдХреЛ рдХреЙрдкреА рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред 300-400 рдЬреАрдмреА рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЕрдкрдбреЗрдЯ рдореЗрдВ 1 рд╕реЗрдХрдВрдб рдХрд╛ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИред

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

/usr/lib/postgresql/11/bin/pg_upgrade 
<b>--link </b>
--old-datadir='' --new-datadir='' 
 --old-bindir=''  --new-bindir='' 
 --old-options=' -c config_file=' 
 --new-options=' -c config_file='

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

рдкреЗрдЯреНрд░реЛрдиреА рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ

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

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

rm -rf /var/lib/postgresql/

рдпрд╣ рдХреЗрд╡рд▓ рдЧреБрд▓рд╛рдо рдкрд░ рд╣реА рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ!

рдЬрдм рдПрдХ рд╕рд╛рдл рдкреНрд░рддрд┐рдХреГрддрд┐ рдХрдиреЗрдХреНрдЯ рд╣реЛрддреА рд╣реИ, рддреЛ рдкреЗрдЯреНрд░реЛрдиреА рдПрдХ рдмреЗрд╕рдмреИрдХрдЕрдк рд▓реАрдбрд░ рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдкреНрд░рддрд┐рдХреГрддрд┐ рдореЗрдВ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рд╡реЙрд▓ рд▓реЙрдЧ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХреЛ рдкрдХрдбрд╝рддрд╛ рд╣реИред

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

рд▓реЛрдб рдкрд░реАрдХреНрд╖рдг

рд╣рдордиреЗ рдПрдХ рдкрд░реАрдХреНрд╖рдг рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ рдмреЛрд░реНрдбреЛрдВ рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрднрд╡ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рддрд╛ рд╣реИред рдЬрдм рд▓реЛрдб рд╣рдорд╛рд░реЗ рдФрд╕рдд рджреИрдирд┐рдХ рдореВрд▓реНрдп рдкрд░ рдкрд╣реБрдВрдЪ рдЧрдпрд╛, рддреЛ рд╣рдордиреЗ рдмрд┐рд▓реНрдХреБрд▓ рд╡рд╣реА рдкрд░реАрдХреНрд╖рдг рджреЛрд╣рд░рд╛рдпрд╛, рд╣рдордиреЗ PostgreSQL рд▓реАрдбрд░ рдХреЗ рд╕рд╛рде рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ред рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдлрд╝реЗрд▓рдУрд╡рд░ рдиреЗ рд╣рдорд╛рд░реА рдЕрдкреЗрдХреНрд╖рд╛ рдХреЗ рдЕрдиреБрд░реВрдк рдХрд╛рдо рдХрд┐рдпрд╛: рдкреЗрдЯреНрд░реЛрдиреА рдиреЗ рд▓реАрдбрд░ рдмрджрд▓ рджрд┐рдпрд╛, рдХреЙрдиреНрд╕рд▓-рдЯреЗрдореНрдкрд▓реЗрдЯ рдиреЗ PgBouncer рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдФрд░ рдкреБрдирдГ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдорд╛рдВрдб рднреЗрдЬрд╛ред рдЧреНрд░рд╛рдлрд╛рдирд╛ рдореЗрдВ рд╣рдорд╛рд░реЗ рдЧреНрд░рд╛рдлрд╝ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдерд╛ рдХрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдХрдиреЗрдХреНрд╢рди рд╕реЗ рдЬреБрдбрд╝реЗ рд╕рд░реНрд╡рд░ рд╕реЗ 20-30 рд╕реЗрдХрдВрдб рдХреА рджреЗрд░реА рдФрд░ рдереЛрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдереАрдВред рдпрд╣ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдерд┐рддрд┐ рд╣реИ, рдРрд╕реЗ рдореВрд▓реНрдп рд╣рдорд╛рд░реЗ рдлреЗрд▓рдУрд╡рд░ рдХреЗ рд▓рд┐рдП рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИрдВ рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕реЗрд╡рд╛ рдбрд╛рдЙрдирдЯрд╛рдЗрдо рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИрдВред

рдкреЗрдЯреНрд░реЛрдиреА рдХреЛ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рд▓рд╛рдирд╛

рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдпреЛрдЬрдирд╛ рд▓реЗрдХрд░ рдЖрдП:

  • PgBouncer рд╕рд░реНрд╡рд░ рдкрд░ рдХреЙрдиреНрд╕рд▓-рдЯреЗрдореНрдкрд▓реЗрдЯ рддреИрдирд╛рдд рдХрд░реЗрдВ рдФрд░ рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ;
  • PostgreSQL рд╕рдВрд╕реНрдХрд░рдг 11.2 рдореЗрдВ рдЕрджреНрдпрддрди;
  • рдХреНрд▓рд╕реНрдЯрд░ рдХрд╛ рдирд╛рдо рдмрджрд▓реЗрдВ;
  • рдкреЗрдЯреНрд░реЛрдиреА рдХреНрд▓рд╕реНрдЯрд░ рд╢реБрд░реВ рдХрд░рдирд╛ред

рд╕рд╛рде рд╣реА, рд╣рдорд╛рд░реА рдпреЛрдЬрдирд╛ рд╣рдореЗрдВ рд▓рдЧрднрдЧ рдХрд┐рд╕реА рднреА рд╕рдордп рдкрд╣рд▓рд╛ рдмрд┐рдВрджреБ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ, рд╣рдо рдкреНрд░рддреНрдпреЗрдХ PgBouncer рдХреЛ рдмрд╛рд░реА-рдмрд╛рд░реА рд╕реЗ рдХрд╛рдо рд╕реЗ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕ рдкрд░ рдХреЙрдиреНрд╕рд▓-рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЛ рддреИрдирд╛рдд рдФрд░ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред рддреЛ рд╣рдордиреЗ рдХрд┐рдпрд╛.

рддреНрд╡рд░рд┐рдд рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ Ansible рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╣реА рдкрд░реАрдХреНрд╖рдг рд╡рд╛рддрд╛рд╡рд░рдг рдкрд░ рд╕рднреА рдкреНрд▓реЗрдмреБрдХ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд▓рд┐рдпрд╛ рд╣реИ, рдФрд░ рдкреВрд░реНрдг рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп рдкреНрд░рддреНрдпреЗрдХ рд╢рд╛рд░реНрдб рдХреЗ рд▓рд┐рдП 1,5 рд╕реЗ 2 рдорд┐рдирдЯ рддрдХ рдерд╛ред рд╣рдо рдЕрдкрдиреА рд╕реЗрд╡рд╛ рдХреЛ рдмрдВрдж рдХрд┐рдП рдмрд┐рдирд╛ рдкреНрд░рддреНрдпреЗрдХ рд╢рд╛рд░реНрдб рдореЗрдВ рдмрд╛рд░реА-рдмрд╛рд░реА рд╕реЗ рд╕рдм рдХреБрдЫ рд░реЛрд▓ рдЖрдЙрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ PostgreSQL рдХреЛ рдХрдИ рдорд┐рдирдЯреЛрдВ рдХреЗ рд▓рд┐рдП рдмрдВрдж рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЬрд┐рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХрд╛ рдбреЗрдЯрд╛ рдЗрд╕ рд╢рд╛рд░реНрдб рдкрд░ рд╣реИ, рд╡реЗ рдЗрд╕ рд╕рдордп рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЕрд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИред

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

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

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

рдкреЗрдЯреНрд░реЛрдиреА рдХреНрд▓рд╕реНрдЯрд░ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдВ

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

ERROR: get_cluster
Traceback (most recent call last):
...
RetryFailedError: 'Exceeded retry deadline'
ERROR: Error communicating with DCS
<b>LOG: database system is shut down</b>

рдкреЗрдЯреНрд░реЛрдиреА рдХреНрд▓рд╕реНрдЯрд░ рдЕрдкрдиреЗ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рдерд╛ рдФрд░ рдкреБрдирдГ рдЖрд░рдВрдн рд╣реБрдЖред

рд╕рдорд╛рдзрд╛рди рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рдЬреАрдердм рдкрд░ рдПрдХ рдЕрдВрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреЗрдЯреНрд░реЛрдиреА рд▓реЗрдЦрдХреЛрдВ рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд┐рдпрд╛ред рдЙрдиреНрд╣реЛрдВрдиреЗ рд╣рдорд╛рд░реА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛:

consul:
 consul.checks: []
bootstrap:
 dcs:
   retry_timeout: 8

рд╣рдо рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкрд░реАрдХреНрд╖рдг рдкрд░рд┐рд╡реЗрд╢ рдореЗрдВ рджреЛрд╣рд░рд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдереЗ рдФрд░ рд╡рд╣рд╛рдВ рдЗрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рд╡реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХреЗред

рд╕рдорд╕реНрдпрд╛ рдЕрднреА рднреА рдЕрдирд╕реБрд▓рдЭреА рд╣реИ. рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдорд╛рдзрд╛рди рдЖрдЬрд╝рдорд╛рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ:

  • рдкреНрд░рддреНрдпреЗрдХ рдкреЗрдЯреНрд░реЛрдиреА рдХреНрд▓рд╕реНрдЯрд░ рдЙрджрд╛рд╣рд░рдг рдкрд░ рдХрдВрд╕рд▓-рдПрдЬреЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ;
  • рдХреЛрдб рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдареАрдХ рдХрд░реЗрдВ.

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

рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рд╣рдореЗрдВ рдФрд░ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рдорд┐рд▓реАред

рдкреЗрдЯреНрд░реЛрдиреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдо

рдкреЗрдЯреНрд░реЛрдиреА рдХреЗ рд╕рдлрд▓ рдкреНрд░рдХреНрд╖реЗрдкрдг рдХреЗ рдмрд╛рдж, рд╣рдордиреЗ рдкреНрд░рддреНрдпреЗрдХ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░рддрд┐рдХреГрддрд┐ рдЬреЛрдбрд╝реАред рдЕрдм рдкреНрд░рддреНрдпреЗрдХ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдПрдХ рдХреЛрд░рдо рдХреА рдЭрд▓рдХ рд╣реЛрддреА рд╣реИ: рд╕реНрд╡рд┐рдЪ рдХрд░рддреЗ рд╕рдордп рд╡рд┐рднрд╛рдЬрди-рдорд╕реНрддрд┐рд╖реНрдХ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕реБрд░рдХреНрд╖рд╛ рдЬрд╛рд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдиреЗрддрд╛ рдФрд░ рджреЛ рдкреНрд░рддрд┐рдХреГрддрд┐рдпрд╛рдВред
рдлрд╝реЗрд▓рдУрд╡рд░ рдХреНрд▓рд╕реНрдЯрд░ PostgreSQL + рдкреЗрдЯреНрд░реЛрдиреАред рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдЕрдиреБрднрд╡

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

рдкреЗрдЯреНрд░реЛрдиреА рдХреЗ рдЙрдкрдпреЛрдЧ рдХрд╛ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рд╕рд╛рд░рд╛рдВрд╢:

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

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

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