
рдж рдЧрд╛рд░реНрдЬрд┐рдпрди рд╕рдмрд╕реЗ рдмрдбрд╝реЗ рдмреНрд░рд┐рдЯрд┐рд╢ рд╕рдорд╛рдЪрд╛рд░ рдкрддреНрд░реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ, рдЗрд╕рдХреА рд╕реНрдерд╛рдкрдирд╛ 1821 рдореЗрдВ рд╣реБрдИ рдереАред рд▓рдЧрднрдЧ 200 рд╡рд░реНрд╖реЛрдВ рдХреЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдХреЗ рд▓рд┐рдП, рд╕рдВрдЧреНрд░рд╣ рдиреЗ рдПрдХ рдЙрдЪрд┐рдд рд░рд╛рд╢рд┐ рдЬрдорд╛ рдХреА рд╣реИред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдпрд╣ рд╕рдм рд╕рд╛рдЗрдЯ рдкрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдирд╣реАрдВ рд╣реИ - рд╕рд┐рд░реНрдл рдкрд┐рдЫрд▓реЗ рдХреБрдЫ рджрд╢рдХреЛрдВ рдореЗрдВред рдбреЗрдЯрд╛рдмреЗрд╕, рдЬрд┐рд╕реЗ рд╕реНрд╡рдпрдВ рдмреНрд░рд┐рдЯрд┐рд╢ рдиреЗ рд╕рднреА рдСрдирд▓рд╛рдЗрди рд╕рд╛рдордЧреНрд░реА рдХреЗ рд▓рд┐рдП "рд╕рддреНрдп рдХрд╛ рд╕реНрд░реЛрдд" рдХрд╣рд╛ рдерд╛, рдореЗрдВ рд▓рдЧрднрдЧ 2.3 рдорд┐рд▓рд┐рдпрди рддрддреНрд╡ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдФрд░ рдПрдХ рдмрд┐рдВрджреБ рдкрд░, рдЙрдиреНрд╣реЛрдВрдиреЗ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдХрд┐ рдореЛрдВрдЧреЛ рд╕реЗ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рдПрд╕рдХреНрдпреВрдПрд▓ рдореЗрдВ рдкреНрд░рд╡рд╛рд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - 2015 рдореЗрдВ рдПрдХ рдЬреБрд▓рд╛рдИ рдЬреБрд▓рд╛рдИ рдХреЗ рджрд┐рди рдХреЗ рдмрд╛рдж, рд╡рд┐рдлрд▓рддрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдЧрдВрднреАрд░ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдкреНрд░рд╡рд╛рд╕рди рдореЗрдВ рд▓рдЧрднрдЧ 3 рд╕рд╛рд▓ рд▓рдЧ рдЧрдП! ...
рд╣рдордиреЗ
рдПрдХ рд▓реЗрдЦ рдХрд╛ рдЕрдиреБрд╡рд╛рдж
рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рд╡рд╛рд╕рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреИрд╕реЗ рдЪрд▓реА рдФрд░ рдкреНрд░рд╢рд╛рд╕рдХреЛрдВ рдХреЛ рдХрд┐рди рдХрдард┐рдирд╛рдЗрдпреЛрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд▓рдВрдмреА рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд╛рд░рд╛рдВрд╢ рд╕рд░рд▓ рд╣реИ: рдмрдбрд╝реЗ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рдЙрддрд░рдирд╛, рдпрд╣ рд╕рдореЗрдЯрдирд╛ рдХрд┐ рдЧрд▓рддрд┐рдпрд╛рдВ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдВрдЧреАред рд▓реЗрдХрд┐рди рдЕрдВрдд рдореЗрдВ, 3 рд╕рд╛рд▓ рдмрд╛рдж, рдмреНрд░рд┐рдЯрд┐рд╢ рд╕рд╣рдпреЛрдЧреА рдкреНрд░рд╡рд╛рд╕ рдХреЗ рдЕрдВрдд рдХрд╛ рдЬрд╢реНрди рдордирд╛рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣реЗред рдФрд░ рд╕реЛ рдЬрд╛рдУред
рднрд╛рдЧ рдПрдХ: рд╢реБрд░реБрдЖрдд
рдЧрд╛рд░реНрдЬрд┐рдпрди рдореЗрдВ, рд▓реЗрдЦ, рдмреНрд▓реЙрдЧ, рдлреЛрдЯреЛ рдЧреИрд▓рд░реА рдФрд░ рд╡реАрдбрд┐рдпреЛ рд╕рд╣рд┐рдд рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рд╛рдордЧреНрд░реА, рд╣рдорд╛рд░реЗ рдЕрдкрдиреЗ рд╕реАрдПрдордПрд╕, рд╕рдВрдЧреАрддрдХрд╛рд░ рдХреЗ рднреАрддрд░ рдирд┐рд░реНрдорд┐рдд рд╣реЛрддреА рд╣реИред рдХреБрдЫ рд╕рдордп рдкрд╣рд▓реЗ рддрдХ, рд╕рдВрдЧреАрддрдХрд╛рд░ рдиреЗ рдПрдбрдмреНрд▓реНрдпреВрдПрд╕-рдЖрдзрд╛рд░рд┐рдд рдорд╛рдирдЧреЛ рдбреАрдмреА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд┐рдпрд╛ред рдпрд╣ рдбреЗрдЯрд╛рдмреЗрд╕ рдореВрд▓ рд░реВрдк рд╕реЗ рд╕рднреА рдЧрд╛рд░реНрдЬрд┐рдпрди рдСрдирд▓рд╛рдЗрди рд╕рд╛рдордЧреНрд░реА рдХреЗ рд▓рд┐рдП "рд╕рддреНрдп рдХрд╛ рд╕реНрд░реЛрдд" рдерд╛ - рд▓рдЧрднрдЧ 2.3 рдорд┐рд▓рд┐рдпрди рддрддреНрд╡ред рдФрд░ рд╣рдордиреЗ рдмрд╕ Monggr рд╕реЗ Postgres SQL рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдкреВрд░рд╛ рдХрд┐рдпрд╛ред
рд╕рдВрдЧреАрддрдХрд╛рд░ рдФрд░ рдЗрд╕рдХреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдореВрд▓ рд░реВрдк рд╕реЗ рдЧрд╛рд░реНрдбрд┐рдпрди рдХреНрд▓рд╛рдЙрдб рдкрд░ рд╣реЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬреЛ рдХрд┐рдВрдЧреНрд╕ рдХреНрд░реЙрд╕ рдХреЗ рдкрд╛рд╕ рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдпрд╛рд▓рдп рдХреЗ рддрд╣рдЦрд╛рдиреЗ рдореЗрдВ рдПрдХ рдбреЗрдЯрд╛ рд╕реЗрдВрдЯрд░ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд▓рдВрджрди рдореЗрдВ рдХрд╣реАрдВ рдФрд░ рд╡рд┐рдлрд▓рддрд╛ рд╣реИред
2015 рдореЗрдВ рдПрдХ
рдЧрд░реНрдо рдЬреБрд▓рд╛рдИ рджрд┐рди, рд╣рдорд╛рд░реА рд╡рд┐рдлрд▓рддрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдПрдХ рдЧрдВрднреАрд░ рдкрд░реАрдХреНрд╖рд╛ рдХреЗ рдЕрдзреАрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рд╣реАрдЯ: рдлрд╡реНрд╡рд╛рд░реЗ рдкрд░ рдирд╛рдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рд╣реИ, рдбреЗрдЯрд╛ рд╕реЗрдВрдЯрд░ рдХреЗ рд▓рд┐рдП рд╡рд┐рдирд╛рд╢рдХрд╛рд░реАред рдлреЛрдЯреЛ: рд╕рд╛рд░рд╛ рд▓реА / рдЧрд╛рд░реНрдЬрд┐рдпрдирддрдм рд╕реЗ, AWS рдХреЗ рд▓рд┐рдП рдЧрд╛рд░реНрдЬрд┐рдпрди рдкреНрд░рд╡рд╛рд╕ рдЬреАрд╡рди рдФрд░ рдореГрддреНрдпреБ рдХрд╛ рд╡рд┐рд╖рдп рдмрди рдЧрдпрд╛ рд╣реИред рдХреНрд▓рд╛рдЙрдб рдкрд░ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ
OpsManager , Mongo DB рдкреНрд░рдмрдВрдзрди рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдЦрд░реАрджрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдФрд░ рдПрдХ Mongo рддрдХрдиреАрдХреА рд╕рд╣рд╛рдпрддрд╛ рдЕрдиреБрдмрдВрдз рдкрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд┐рдПред рд╣рдордиреЗ рдмреИрдХрдЕрдк, рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрдЯ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рдиреЗ рдФрд░ рд╣рдорд╛рд░реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреНрд▓рд╕реНрдЯрд░ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП OpsManager рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред
рд╕рдВрдкрд╛рджрдХреАрдп рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг, рд╣рдореЗрдВ AWS рдореЗрдВ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдкрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреНрд▓рд╕реНрдЯрд░ рдФрд░ OpsManager рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА, рдФрд░ Mongo рдкреНрд░рдмрдВрдзрд┐рдд рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╣рдореЗрдВ рдкрд╕реАрдирд╛ рдмрд╣рд╛рдирд╛ рдкрдбрд╝рд╛, рдХреНрдпреЛрдВрдХрд┐ рдореЛрдВрдЧреЛ рдиреЗ рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рдкрд░ рдЖрд╕рд╛рди рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЙрдкрдХрд░рдг рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд┐рдпрд╛: рд╣рдордиреЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдкреВрд░реЗ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХреЛ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдФрд░ рдирд┐рдЧрд░рд╛рдиреА / рд╕реНрд╡рдЪрд╛рд▓рди рдПрдЬреЗрдВрдЯреЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдФрд░ рдирдП рдбреЗрдЯрд╛рдмреЗрд╕ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
рд╕реИрдХрдбрд╝реЛрдВ рд░реВрдмреА рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЛ рд▓рд┐рдЦрд╛ред рдирддреАрдЬрддрди, рд╣рдореЗрдВ рдЯреАрдо рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░рдмрдВрдзрди рдкрд░ рд╢реИрдХреНрд╖рд┐рдХ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреА рдПрдХ рдЯреАрдо рдХрд╛ рдЖрдпреЛрдЬрди рдХрд░рдирд╛ рдкрдбрд╝рд╛ - рд╣рдореЗрдВ рдЙрдореНрдореАрдж рдереА рдХрд┐ рдСрдкреНрд╕рдореИрдирдЧрд░ рдХреНрдпрд╛ рд╣реЛрдЧрд╛ред
AWS рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдмрд╛рдж рд╕реЗ, рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рджреЛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХреНрд░реИрд╢ рд╣реБрдП рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдиреЗ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдШрдВрдЯреЗ рдХреЗ рд▓рд┐рдП theguardian.com рдкрд░ рдкреНрд░рдХрд╛рд╢рди рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреАред рджреЛрдиреЛрдВ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рди рддреЛ рдСрдкреНрд╕рдореИрдирдЧрд░ рдФрд░ рди рд╣реА рдореИрдВрдЧреЛ рддрдХрдиреАрдХреА рд╕рд╣рд╛рдпрдХ рдХрд░реНрдордЪрд╛рд░реА рд╣рдореЗрдВ рдкрд░реНрдпрд╛рдкреНрдд рд╕рд╣рд╛рдпрддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдереЗ, рдФрд░ рд╣рдордиреЗ рдЦреБрдж рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╣рд▓ рдХрд┐рдпрд╛ - рдПрдХ рдорд╛рдорд▓реЗ рдореЗрдВ,
рд╣рдорд╛рд░реА рдЯреАрдо рдХреЗ рдПрдХ
рд╕рджрд╕реНрдп рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рдЬреЛ рдЕрдмреВ рдзрд╛рдмреА рдХреЗ рдмрд╛рд╣рд░реА рдЗрд▓рд╛рдХреЗ рдореЗрдВ рд░реЗрдЧрд┐рд╕реНрддрд╛рди рд╕реЗ рдЯреЗрд▓реАрдлреЛрди рджреНрд╡рд╛рд░рд╛ рд╕реНрдерд┐рддрд┐ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣реЗред
рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд рдореБрджреНрджреЛрдВ рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдПрдХ рдЕрд▓рдЧ рдкрдж рдХреЗ рд╣рдХрджрд╛рд░ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рд╕рд╛рдорд╛рдиреНрдп рдмрд┐рдВрджреБ рд╣реИрдВ:
- рд╕рдордп рдкрд░ рдкреВрд░рд╛ рдзреНрдпрд╛рди рджреЗрдВ - рдЕрдкрдиреЗ VPC рддрдХ рдкрд╣реБрдБрдЪ рдХреЛ рдЗрд╕ рд╣рдж рддрдХ рдЕрд╡рд░реБрджреНрдз рди рдХрд░реЗрдВ рдХрд┐ NTP рдХрд╛рдо рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗред
- рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдЗрдВрдбреЗрдХреНрд╕ рдмрдирд╛рдирд╛ рдПрдХ рдмреБрд░рд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИред
- рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░рдмрдВрдзрди рдЕрддреНрдпрдВрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рдФрд░ рдХрдард┐рди рд╣реИ - рдФрд░ рд╣рдо рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред
рдСрдкреНрд╕рдореИрдирдЧрд░ рдиреЗ рд╕рд░рд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░рдмрдВрдзрди рдХреЗ рдЕрдкрдиреЗ рд╡рд╛рджреЗ рдХреЛ рдирд╣реАрдВ рд░рдЦрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, OpsManager рдХрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░рдмрдВрдзрди - рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, OpsManager рд╕рдВрд╕реНрдХрд░рдг 1 рд╕реЗ рд╕рдВрд╕реНрдХрд░рдг 2 рддрдХ рдХрд╛ рдЕрджреНрдпрддрди - рд╣рдорд╛рд░реЗ OpsManager рд╕реЗрдЯрдЕрдк рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рд╕рдордп рдФрд░ рд╡рд┐рд╢реЗрд╖ рдЬреНрдЮрд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╡рд╣ рдорд╛рдирдЧреЛ рдбреАрдмреА рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рдмреАрдЪ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдпреЛрдЬрдирд╛ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХреЗ рдХрд╛рд░рдг "рдПрдХ-рдХреНрд▓рд┐рдХ рдЕрдкрдбреЗрдЯ" рдХреЗ рдЕрдкрдиреЗ рд╡рд╛рджреЗ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдореЗрдВ рднреА рд╡рд┐рдлрд▓ рд░рд╣рд╛ред рд╣рдордиреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐ рд╡рд░реНрд╖ рдЗрдВрдЬреАрдирд┐рдпрд░реЛрдВ рдХреЗ рдХрдо рд╕реЗ рдХрдо рджреЛ рдорд╣реАрдиреЗ рдЦреЛ рджрд┐рдПред
рдЗрди рд╕рднреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдиреЗ, рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд╛рд░реНрд╖рд┐рдХ рд╢реБрд▓реНрдХ рдХреЗ рд╕рд╛рде рдЬреЛ рд╣рдордиреЗ рдЕрдиреБрдмрдВрдз рдЕрдиреБрдмрдВрдз рдФрд░ рдСрдкреНрд╕рдореИрдирдЧрд░ рдХреЗ рд▓рд┐рдП рднреБрдЧрддрд╛рди рдХрд┐рдпрд╛ рдерд╛, рдиреЗ рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╡реИрдХрд▓реНрдкрд┐рдХ рдбреЗрдЯрд╛рдмреЗрд╕ рд╡рд┐рдХрд▓реНрдк рдХреА рддрд▓рд╛рд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд┐рдпрд╛:
- рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рдиреНрдпреВрдирддрдо рдкреНрд░рдпрд╛рд╕ред
- рдмрд╛рдХреА рдкрд░ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рдиред
- рдореЛрдВрдЧреЛ рдХреЗ рд╕рд╛рде рдПрдХ рд╕реНрд╡реАрдХрд╛рд░реНрдп рдкреНрд░рд╡рд╛рд╕ рдкрдеред
рдЪреВрдВрдХрд┐ рд╣рдорд╛рд░реА рд╕рднреА рдЕрдиреНрдп рд╕реЗрд╡рд╛рдПрдБ AWS рдЪрд▓ рд░рд╣реА рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рд╡рд┐рдХрд▓реНрдк рдбрд╛рдпрдирдореЛ, рдЕрдореЗрдЬрд╝рди рдХрд╛ NoSQL рдбреЗрдЯрд╛рдмреЗрд╕ рд╣реИред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдЙрд╕ рд╕рдордп, рдбрд╛рдпрдиреЗрдореЛ рдиреЗ рдЖрд░рд╛рдо рдкрд░ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдЧрднрдЧ рдиреМ рдорд╣реАрдиреЗ рдЗрдВрддрдЬрд╛рд░ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдордиреЗ AWS RDS рдкрд░ Postgres рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗрдХрд░ рдЗрд╕ рд╡рд┐рдЪрд╛рд░ рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ред
"рд▓реЗрдХрд┐рди Postgres рдПрдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рднрдВрдбрд╛рд░ рдирд╣реАрдВ рд╣реИ!" - рдЖрдк рдЖрдХреНрд░реЛрд╢ рдореЗрдВ рд╣реИрдВ ... рдареАрдХ рд╣реИ, рд╣рд╛рдБ, рдпрд╣ рдбреЙрдХ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ JSONB рдХреЙрд▓рдо рдХреЗ рд╕рдорд╛рди рдЯреЗрдмрд▓ рд╣реИрдВ, рдЬреЛ JSON рдмреНрд▓реЙрдм рдЯреВрд▓ рдХреЗ рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рдЕрдиреБрдХреНрд░рдорд┐рдд рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рд╣реИред рд╣рдореЗрдВ рдЙрдореНрдореАрдж рдереА рдХрд┐ JSONB рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣рдо рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рдореЙрдбрд▓ рдореЗрдВ рдиреНрдпреВрдирддрдо рдмрджрд▓рд╛рд╡ рдХреЗ рд╕рд╛рде Mongo рд╕реЗ Postgres рдХреА рдУрд░ рдкрд▓рд╛рдпрди рдХрд░ рдкрд╛рдПрдВрдЧреЗред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЕрдЧрд░ рд╣рдо рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдФрд░ рдЕрдзрд┐рдХ рд░рд┐рд▓реЗрд╢рдирд▓ рдореЙрдбрд▓ рдореЗрдВ рдЬрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдРрд╕рд╛ рдЕрд╡рд╕рд░ рд╣реЛрдЧрд╛ред рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдФрд░ рдмрдврд╝рд┐рдпрд╛ рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕рдиреЗ рдХрд┐рддрдиреА рдЕрдЪреНрдЫреА рддрд░рд╣ рдХрд╛рдо рдХрд┐рдпрд╛: рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╣рд░ рд╕рд╡рд╛рд▓ рдХреЗ рд▓рд┐рдП, рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЬрд╡рд╛рдм рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реНрдЯреИрдЯрд░ рдУрд╡рд░рдлреНрд▓реЛ рдореЗрдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ, рд╣рдореЗрдВ рдпрдХреАрди рдерд╛ рдХрд┐ Postgres рдпрд╣ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: рд╕рдВрдЧреАрддрдХрд╛рд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рд╕рд╛рдордЧреНрд░реА рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдХрд░рдг рд╣реИ (рдпрд╣ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рд╣рд░ рдмрд╛рд░ рдПрдХ рдкрддреНрд░рдХрд╛рд░ рдкреНрд░рд┐рдВрдЯрд┐рдВрдЧ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИ), рдФрд░ рдЖрдорддреМрд░ рдкрд░ рдПрдХ рд╕рд╛рде рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрдИ рд╕реМ рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ - рдЬрд┐рд╕реЗ рд╕рд┐рд╕реНрдЯрдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ рд╕реБрдкрд░ рд╣рд╛рдИ рдкрд╛рд╡рд░!
рднрд╛рдЧ рджреЛ: рджреЛ рджрд╢рдХреЛрдВ рдХреА рд╕рд╛рдордЧреНрд░реА рдкреНрд░рд╡рд╛рд╕рди рдмрд┐рдирд╛ рдбрд╛рдЙрдирдЯрд╛рдЗрдо рдХреЗ рдЪрд▓реА рдЧрдИ
рдпреЛрдЬрдирд╛рдЕрдзрд┐рдХрд╛рдВрд╢ рдбреЗрдЯрд╛рдмреЗрд╕ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рд╕рдорд╛рди рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рд╕рдВрдХреЗрдд рджреЗрддреЗ рд╣реИрдВ, рдФрд░ рд╣рдорд╛рд░рд╛ рдХреЛрдИ рдЕрдкрд╡рд╛рдж рдирд╣реАрдВ рдерд╛ред рдпрд╣рд╛рдБ рд╣рдордиреЗ рдХреНрдпрд╛ рдХрд┐рдпрд╛:
- рдПрдХ рдирдпрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ред
- рдЙрдиреНрд╣реЛрдВрдиреЗ рдПрдХ рдирдП рдбреЗрдЯрд╛рдмреЗрд╕ (рдирдП рдПрдкреАрдЖрдИ) рдХреЛ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдмрдирд╛рдпрд╛ред
- рд╣рдордиреЗ рдПрдХ рдкреНрд░реЙрдХреНрд╕реА рд╕рд░реНрд╡рд░ рдмрдирд╛рдпрд╛ рдЬреЛ рдореБрдЦреНрдп рдХреЗ рд░реВрдк рдореЗрдВ рдкреБрд░рд╛рдиреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдкреБрд░рд╛рдиреЗ рдФрд░ рдирдП рдбреЗрдЯрд╛рдмреЗрд╕ рджреЛрдиреЛрдВ рдХреЛ рдЯреНрд░реИрдлрд╝рд┐рдХ рднреЗрдЬрддрд╛ рд╣реИред
- рдкреБрд░рд╛рдиреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдирдП рдореЗрдВ рд░рд┐рдХреЙрд░реНрдб рдХрд┐рдП рдЧрдПред
- рдЙрдиреНрд╣реЛрдВрдиреЗ рдирдП рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдореБрдЦреНрдп рдмрдирд╛рдпрд╛ред
- рдкреБрд░рд╛рдиреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ред
рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдЬрд┐рд╕ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рд╣рдордиреЗ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд┐рдпрд╛ рд╣реИ, рд╡рд╣ рд╣рдорд╛рд░реЗ рд╕реАрдПрдордПрд╕ рдХреЗ рдХрд╛рдордХрд╛рдЬ рдХреЛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдерд╛ рдХрд┐ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдЕрдкрдиреЗ рдкрддреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд┐рддрдиреА рд╕рдВрднрд╡ рд╣реЛ рдЙрддрдиреА рдХрдо рд╕рдорд╕реНрдпрд╛рдПрдВ рдкреИрджрд╛ рдХрд░реЗрдВред рдЖрдЦрд┐рд░ рдореЗрдВ, рдЦрдмрд░ рдХрднреА рдЦрддреНрдо рдирд╣реАрдВ рд╣реЛрддреАред
рдирдИ рдПрдкреАрдЖрдИрдЬреБрд▓рд╛рдИ 2017 рдХреЗ рдЕрдВрдд рдореЗрдВ рдирдП рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ-рдЖрдзрд╛рд░рд┐рдд рдПрдкреАрдЖрдИ рдкрд░ рдХрд╛рдо рд╢реБрд░реВ рд╣реБрдЖред рдпрд╣ рд╣рдорд╛рд░реА рдпрд╛рддреНрд░рд╛ рдХреА рд╢реБрд░реБрдЖрдд рдереАред рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдерд╛, рд╣рдореЗрдВ рдкрд╣рд▓реЗ рд╕реНрдкрд╖реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╣рдордиреЗ рдХрд╣рд╛рдБ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдерд╛ред
рд╣рдорд╛рд░рд╛ рд╕рд░рд▓реАрдХреГрдд рд╕реАрдПрдордПрд╕ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдерд╛: рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕, рдПрдХ рдПрдкреАрдЖрдИ рдФрд░ рдЙрд╕рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХрдИ рдПрдкреНрд▓рд┐рдХреЗрд╢рди (рдЬреИрд╕реЗ рдХрд┐ рдПрдХ рдпреВрдЬрд░ рдЗрдВрдЯрд░рдлреЗрд╕)ред рд╕реНрдЯреИрдХ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ 4 рд╕рд╛рд▓ рдХреЗ рд▓рд┐рдП рдЕрдм
рд╕реНрдХрд╛рд▓рд╛ ,
рд╕реНрдХреИрд▓рдЯреНрд░рд╛ рдлреНрд░реЗрдорд╡рд░реНрдХ рдФрд░
рдПрдВрдЧреБрд▓рд░.рдЬреЗрдПрд╕ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕рдВрдЪрд╛рд▓рд┐рдд рд╣реЛрддрд╛ рд╣реИред
рдХреБрдЫ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рдмрд╛рдж, рд╣рдо рдЗрд╕ рдирд┐рд╖реНрдХрд░реНрд╖ рдкрд░ рдкрд╣реБрдВрдЪреЗ рдХрд┐ рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рд╣рдо рдореМрдЬреВрджрд╛ рд╕рд╛рдордЧреНрд░реА рдХреЛ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░ рд╕рдХреЗрдВ, рд╣рдореЗрдВ рдкреБрд░рд╛рдиреЗ API рдХреЛ рдЪрд╛рд▓реВ рд░рдЦрддреЗ рд╣реБрдП рдирдП PostgreSQL рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдЪрд╛рд╣рд┐рдПред рдЖрдЦрд┐рд░рдХрд╛рд░, рдорд╛рдирдЧреЛ рдбреАрдмреА рд╣рдорд╛рд░рд╛ "рд╕рддреНрдп рдХрд╛ рд╕реНрд░реЛрдд" рд╣реИред рдирдП API рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдЙрд╕рдиреЗ рд╣рдореЗрдВ рдПрдХ рдЬреАрд╡рди рд░реЗрдЦрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд┐рдпрд╛ред
рдпрд╣ рдПрдХ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдкреБрд░рд╛рдиреЗ рдПрдкреАрдЖрдИ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдирд┐рд░реНрдорд╛рдг рд╣рдорд╛рд░реА рдпреЛрдЬрдирд╛рдУрдВ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рдерд╛ред рдореВрд▓ рдПрдкреАрдЖрдИ рдореЗрдВ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдкреГрдердХреНрдХрд░рдг рдиреНрдпреВрдирддрдо рдерд╛, рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдореИрдВрдЧреЛ рдбреАрдмреА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рддрд░реАрдХреЛрдВ рдХреЛ рдирд┐рдпрдВрддреНрд░рдХ рд╕реНрддрд░ рдкрд░ рднреА рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдореМрдЬреВрджрд╛ API рдореЗрдВ рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░ рдХреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рдмрд╣реБрдд рдЬреЛрдЦрд┐рдо рднрд░рд╛ рдерд╛ред
рд╣рдо рджреВрд╕рд░реЗ рд░рд╛рд╕реНрддреЗ рдкрд░ рдЧрдП рдФрд░ рдкреБрд░рд╛рдиреЗ рдПрдкреАрдЖрдИ рдХреЛ рджреЛрд╣рд░рд╛рдпрд╛ред рдЗрд╕ рдкреНрд░рдХрд╛рд░ APIV2 рдХрд╛ рдЬрдиреНрдо рд╣реБрдЖред рдпрд╣ рдкреБрд░рд╛рдиреЗ рдорд╛рдирдЧреЛ-рд╕рдВрдмрдВрдзрд┐рдд рдПрдкреАрдЖрдИ рдХреА рдЕрдзрд┐рдХ рдпрд╛ рдХрдо рд╕рдЯреАрдХ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдереА, рдФрд░ рдЗрд╕рдореЗрдВ рд╕рдорд╛рди рд╕рдорд╛рдкрди рдФрд░ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╢рд╛рдорд┐рд▓ рдереАред рд╣рдордиреЗ
рдбреЛрдмрд▓реА рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛, рд╕реНрдХрд╛рд▓рд╛ рдХреЗ рд▓рд┐рдП рд╢реБрджреНрдз рдЬреЗрдбреАрдмреАрд╕реА рд╕реБрд╡рд┐рдзрд╛ рдкрд░рдд, рд╕реНрдерд╛рдиреАрдп рд╕реНрддрд░ рдкрд░ рдЪрд▓рд╛рдиреЗ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
рдбреЙрдХрд░ рдХреЛ рдЬреЛрдбрд╝рд╛, рдФрд░ рд╕рдВрдЪрд╛рд▓рди рд▓реЙрдЧрд┐рдВрдЧ рдФрд░ рдЬрд┐рдореНрдореЗрджрд╛рд░реА рд╕рд╛рдЭрд╛рдХрд░рдг рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд┐рдпрд╛ред APIV2 рдПрдкреАрдЖрдИ рдХрд╛ рдПрдХ рддреЗрдЬрд╝ рдФрд░ рдЖрдзреБрдирд┐рдХ рд╕рдВрд╕реНрдХрд░рдг рдорд╛рдирд╛ рдЬрд╛рддрд╛ рдерд╛ред
рдЕрдЧрд╕реНрдд 2017 рдХреЗ рдЕрдВрдд рддрдХ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдирдпрд╛ рдПрдкреАрдЖрдИ рддреИрдирд╛рдд рдерд╛ рдЬреЛ рдЕрдкрдиреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд░реВрдк рдореЗрдВ PostgreSQL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рдерд╛ред рд▓реЗрдХрд┐рди рд╡рд╣ рдХреЗрд╡рд▓ рд╢реБрд░реБрдЖрдд рдереАред рдорд╛рдирдЧреЛ рдбреАрдмреА рдореЗрдВ рдРрд╕реЗ рд▓реЗрдЦ рд╣реИрдВ рдЬреЛ рдкрд╣рд▓реА рдмрд╛рд░ рджреЛ рджрд╢рдХ рдкрд╣рд▓реЗ рдмрдирд╛рдП рдЧрдП рдереЗ, рдФрд░ рдЙрди рд╕рднреА рдХреЛ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдирд╛ рдерд╛ред
рдкреНрд░рд╡рд╛рд╕рд╣рдореЗрдВ рд╕рд╛рдЗрдЯ рдкрд░ рдХрд┐рд╕реА рднреА рд▓реЗрдЦ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЪрд╛рд╣реЗ рд╡рд╣ рдХрдм рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реБрдЖ рд╣реЛ, рдЗрд╕рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ "рд╕рддреНрдп рдХрд╛ рд╕реНрд░реЛрдд" рдХреЗ рд░реВрдк рдореЗрдВ рд╕рднреА рд▓реЗрдЦ рдореМрдЬреВрдж рд╣реИрдВред
рдпрджреНрдпрдкрд┐ рд╕рднреА рд▓реЗрдЦ
рдЕрднрд┐рднрд╛рд╡рдХ рдХреА рд╕рд╛рдордЧреНрд░реА рдПрдкреАрдЖрдИ (CAPI) рдореЗрдВ рд░рд╣рддреЗ рд╣реИрдВ , рдЬреЛ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдФрд░ рд╕рд╛рдЗрдЯ рдкрд░ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ, рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЧрдбрд╝рдмрдбрд╝ рдХреЗ рдкреНрд░рд╡рд╛рд╕ рдХрд░рдирд╛ рдЕрддреНрдпрдВрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░рд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рд╣рдорд╛рд░рд╛ "рд╕рддреНрдп рдХрд╛ рд╕реНрд░реЛрдд" рд╣реИред рдЕрдЧрд░ рдХреБрдЫ рдПрд▓реАрд╕реНрдЯреЗрдХрдЪрд░реНрдЪ рд╕реАрдПрдкреАрдЖрдИ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд▓рд┐рдП рд╣реБрдЖ, рддреЛ рд╣рдо рдЗрд╕реЗ рдХрдВрдкреЛрдЬрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рд░рд┐рд╡рд╛рдЗрдВрдб рдХрд░реЗрдВрдЧреЗред
рдЗрд╕рд▓рд┐рдП, рдорд╛рдирдЧреЛ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рд╣рдореЗрдВ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдерд╛ рдХрд┐ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рдкрд░ рдЪрд▓ рд░рд╣реЗ рдПрдкреАрдЖрдИ рдФрд░ рдорд╛рдирдЧреЛ рдкрд░ рдЪрд▓ рд░рд╣реЗ рдПрдкреАрдЖрдИ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рдЕрдиреБрд░реЛрдз рд╕рдорд╛рди рдЙрддреНрддрд░ рд▓реМрдЯрд╛рдПрдВрдЧреЗред
рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдирдП рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕рднреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдХреЙрдкреА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЬреЛ рдкреБрд░рд╛рдиреЗ рдФрд░ рдирдП рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде рд╕реАрдзреЗ рд╕рдВрдкрд░реНрдХ рдХрд░рддрд╛ рдерд╛ред рдЗрд╕ рдкрджреНрдзрддрд┐ рдХрд╛ рд▓рд╛рдн рдпрд╣ рдерд╛ рдХрд┐ рджреЛрдиреЛрдВ рдПрдкреАрдЖрдИ рдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдФрд░ рдмрд╛рд╣рд░ рдХреЗ рд▓реЗрдЦреЛрдВ рдХреЛ рдкрдврд╝рдиреЗ рдФрд░ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛, рдЬреИрд╕рд╛ рдХрд┐ рдХреБрдЫ рдРрд╕рд╛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд╡рд┐рдкрд░реАрдд рд╣реИ рдЬреЛ рд╕реАрдзреЗ рд╕рдВрдмрдВрдзрд┐рдд рдбреЗрдЯрд╛рдмреЗрд╕ рддрдХ рдкрд╣реБрдВрдЪрддрд╛ рд╣реИред
рдореВрд▓ рдкреНрд░рд╡рд╛рд╕ рдХреНрд░рдо рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдерд╛:
- рдореЛрдВрдЧреЛ рд╕реЗ рд╕рд╛рдордЧреНрд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред
- рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рдХреЛ рдкреЛрд╕реНрдЯ рдХрдВрдЯреЗрдВрдЯред
- Postgres рд╕реЗ рд╕рд╛рдордЧреНрд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред
- рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЙрдирдХреЗ рдЙрддреНрддрд░ рд╕рдорд╛рди рд╣реИрдВред
рдбреЗрдЯрд╛рдмреЗрд╕ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рддрднреА рд╕рдлрд▓ рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рдПрдВрдб рдпреВрдЬрд░реНрд╕ рдиреЗ рдЗрд╕ рдмрд╛рдд рдкрд░ рдЧреМрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реЛ рдХрд┐ рдРрд╕рд╛ рд╣реБрдЖ рд╣реИ, рдФрд░ рдПрдХ рдЕрдЪреНрдЫреА рдорд╛рдЗрдЧреНрд░реЗрд╢рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣рдореЗрд╢рд╛ рдРрд╕реА рд╕рдлрд▓рддрд╛ рдХреА рдХреБрдВрдЬреА рд╣реЛрдЧреАред рд╣рдореЗрдВ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рдЬрд░реВрд░рдд рдереА рдЬреЛ:
- HTTP рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВред
- рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдХреБрдЫ рд╕рд╛рдордЧреНрд░реА рдХреЛ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рджреЛрдиреЛрдВ рдПрдкреАрдЖрдИ рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдорд╛рди рд╣реИред
- рдЬрдм рдХреЛрдИ рддреНрд░реБрдЯрд┐ рд╣реЛрддреА рд╣реИ, рддреЛ рд░реЛрдХреЗрдВред
- рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдирд┐рджрд╛рди рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╕реНрддреГрдд рдСрдкрд░реЗрд╢рди рд▓реЙрдЧ рдмрдирд╛рдПрдБред
- рд╕рд╣реА рдмрд┐рдВрджреБ рд╕реЗ рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЗ рдмрд╛рдж рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдВред
рд╣рдордиреЗ
рдЕрдореЛрдирд┐рдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╢реБрд░реВ рдХрд┐рдпрд╛ред рдпрд╣ рдЖрдкрдХреЛ рд╕реНрдХрд╛рд▓рд╛ рднрд╛рд╖рд╛ рдореЗрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рд╣рдорд╛рд░реА рдЯреАрдо рдХрд╛ рдореВрд▓ рд╣реИред рдпрд╣ рдХреБрдЫ рдРрд╕рд╛ рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЕрд╡рд╕рд░ рдерд╛ рдЬрд┐рд╕реЗ рд╣рдордиреЗ рдкрд╣рд▓реЗ рдирд╣реАрдВ рджреЗрдЦрд╛ рдерд╛ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред рдпрджреНрдпрдкрд┐ рдЕрдореНрдореЛрдирд┐рдпреЛрдВ рдиреЗ рд╣рдореЗрдВ рдПрдХ рдкрд░рд┐рдЪрд┐рдд рднрд╛рд╖рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреА, рд▓реЗрдХрд┐рди рд╣рдордиреЗ рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рдХрдИ рдХрдорд┐рдпрд╛рдБ рдкрд╛рдИрдВред рдЗрдВрдЯреЗрд▓реАрдЬ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЕрдореНрдореЛрдирд╛рдЗрдЯ рдХрд╛
рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ , рд▓реЗрдХрд┐рди рдпрд╣ рд╣рдорд╛рд░реЗ рдкреНрд░рд╡рд╛рд╕ рдХреЗ рджреМрд░рд╛рди рдРрд╕рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ - рдФрд░ рд╣рдордиреЗ рдСрдЯреЛ-рдкреВрд░реНрддрд┐ рдФрд░ рдСрдЯреЛ-рдЖрдпрд╛рдд рдЦреЛ рджрд┐рдпрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд▓рдВрдмреЗ рд╕рдордп рддрдХ, рдЕрдореЛрдирд╛рдЗрдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣реАред
рдЕрдВрддрддрдГ, рдЕрдореНрдореЛрдиреАрдЗрдЯ рдЗрд╕ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рд╕рд╣реА рдЙрдкрдХрд░рдг рдирд╣реАрдВ рдерд╛, рдФрд░ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рд╣рдордиреЗ рдкреНрд░рд╡рд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП sbt рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рдЗрд╕рдиреЗ рд╣рдореЗрдВ рдЙрд╕ рднрд╛рд╖рд╛ рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреА, рдЬрд┐рд╕ рдкрд░ рд╣рдореЗрдВ рднрд░реЛрд╕рд╛ рдерд╛, рд╕рд╛рде рд╣реА рд╕рд╛рде рдореБрдЦреНрдп рдХрд╛рдордХрд╛рдЬреА рдорд╛рд╣реМрд▓ рдореЗрдВ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХрдИ 'рдЯреЗрд╕реНрдЯ рдорд╛рдЗрдЧреНрд░реЗрд╢рди' рдХрд┐рдПред
рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдпрд╣ рдерд╛ рдХрд┐ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рдкрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рдПрдкреАрдЖрдИ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЬрд╛рдВрдЪ рдореЗрдВ рдпрд╣ рдХрд┐рддрдирд╛ рдЙрдкрдпреЛрдЧреА рдерд╛ред рд╣рдордиреЗ рдХрдИ рд╣рд╛рд░реНрдб-рдЯреВ-рдлрд╛рдЗрдВрдб рдПрд░рд░ рдкрд╛рдП рдФрд░ рдЙрди рдорд╛рдорд▓реЛрдВ рдХреЛ рд╕реАрдорд┐рдд рдХрд┐рдпрд╛, рдЬреЛ рд╣рдореЗрдВ рдкрд╣рд▓реЗ рдирд╣реАрдВ рдорд┐рд▓реЗ рдереЗред
рдЬрдирд╡рд░реА 2018 рддрдХ рддреЗрдЬреА рд╕реЗ рдЖрдЧреЗ рдмрдврд╝реЗрдВ рдЬрдм рд╣рдорд╛рд░реЗ рдкреВрд░реНрд╡-рдареЗрд╕ рд╕реАрдУрдбреАрдИ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдкреВрд░реНрдг рд╡рд┐рдХрд╕рд┐рдд рдкреНрд░рд╡рд╛рд╕ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реЛред
рд╣рдорд╛рд░реА рдЕрдзрд┐рдХрд╛рдВрд╢ рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреА рддрд░рд╣, CODE рдФрд░ PROD рдХреЗ рдмреАрдЪ рдПрдХрдорд╛рддреНрд░ рд╕рдорд╛рдирддрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЗ рд▓реЙрдиреНрдЪ рд╣реЛрдиреЗ рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реИред CODE рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ AWS рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ PROD рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдХрдо рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдерд╛, рдХреЗрд╡рд▓ рдЗрд╕рд▓рд┐рдП рдХрд┐ рдпрд╣ рдмрд╣реБрдд рдХрдо рдХрд╛рд░реНрдпрднрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред
рд╣рдореЗрдВ рдЖрд╢рд╛ рдереА рдХрд┐ CODE рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдкреНрд░рд╡рд╛рд╕ рд╣рдорд╛рд░реА рд╕рд╣рд╛рдпрддрд╛ рдХрд░реЗрдЧрд╛:
- рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдПрдВ рдХрд┐ PROD рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдХрд┐рддрдирд╛ рд╕рдордп рд▓рдЧреЗрдЧрд╛ред
- рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░реЗрдВ рдХрд┐ рдХреИрд╕реЗ (рдпрджрд┐ рдмрд┐рд▓реНрдХреБрд▓) рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдЙрддреНрдкрд╛рджрдХрддрд╛ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИред
рдЗрди рд╕рдВрдХреЗрддрдХреЛрдВ рдХреЗ рд╕рдЯреАрдХ рдорд╛рдк рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рджреЛ рд╡рд╛рддрд╛рд╡рд░рдгреЛрдВ рдХреЛ рдкреВрд░реНрдг рдкрд╛рд░рд╕реНрдкрд░рд┐рдХ рдкрддреНрд░рд╛рдЪрд╛рд░ рдореЗрдВ рд▓рд╛рдирд╛ рдерд╛ред рдЗрд╕рдореЗрдВ PROD рд╕реЗ CODE рддрдХ рдПрдХ Mongo DB рдмреИрдХрдЕрдк рдмрд╣рд╛рд▓ рдХрд░рдирд╛ рдФрд░ AWS рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рдерд╛ред
рдХреЗрд╡рд▓ 2 рдорд┐рд▓рд┐рдпрди рд╕реЗ рдЕрдзрд┐рдХ рдбреЗрдЯрд╛ рдЖрдЗрдЯрдореЛрдВ рдХрд╛ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдирд╛ рдПрдХ рдорд╛рдирдХ рдХрд╛рд░реНрдп рджрд┐рд╡рд╕ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдордп рд▓реЗрдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ред рдЗрд╕рд▓рд┐рдП, рд╣рдордиреЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд░рд╛рдд рдХреЗ рд▓рд┐рдП
рд╕реНрдХреНрд░реАрди рдкрд░ рдЪрд▓рд╛рдпрд╛ред
рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреА рдкреНрд░рдЧрддрд┐ рдХреЛ рдорд╛рдкрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рдЕрдкрдиреЗ ELK рд╕реНрдЯреИрдХ (Elasticsearch, Logstash, рдФрд░ Kibana) рдореЗрдВ рд╕рдВрд░рдЪрд┐рдд рдкреНрд░рд╢реНрдиреЛрдВ (рдЯреЛрдХрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) рдХреЛ рднреЗрдЬрд╛ред рд╡рд╣рд╛рдВ рд╕реЗ, рд╣рдо рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдП рдЧрдП рд▓реЗрдЦреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛, рдХреНрд░реИрд╢ рдХреА рд╕рдВрдЦреНрдпрд╛ рдФрд░ рд╕рдордЧреНрд░ рдкреНрд░рдЧрддрд┐ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдХреЗ рд╡рд┐рд╕реНрддреГрдд рдбреИрд╢рдмреЛрд░реНрдб рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕рднреА рд╕рдВрдХреЗрддрдХ рдмрдбрд╝реА рд╕реНрдХреНрд░реАрди рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдП рдЧрдП рдереЗ рддрд╛рдХрд┐ рдкреВрд░реА рдЯреАрдо рд╡рд┐рд╡рд░рдг рджреЗрдЦ рд╕рдХреЗред
рдбреИрд╢рдмреЛрд░реНрдб рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреА рдкреНрд░рдЧрддрд┐ рджрд┐рдЦрд╛ рд░рд╣рд╛ рд╣реИ: рд╕рдВрдкрд╛рджрдХреАрдп рдЙрдкрдХрд░рдг / рдЕрднрд┐рднрд╛рд╡рдХрдПрдХ рдмрд╛рд░ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдкреВрд░рд╛ рд╣реЛ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдордиреЗ Postgres рдФрд░ Mongo рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рд▓рд┐рдП рдПрдХ рдореИрдЪ рдХреА рдЬрд╛рдБрдЪ рдХреАред
рднрд╛рдЧ рддреАрди: рдкреНрд░реЛрдбрдХреНрд╢рдВрд╕ рдФрд░ рдкреНрд░рдХреНрд╖реЗрдкрдг
рдкреНрд░реЙрдХреНрд╕реАрдЕрдм рдЬрдм Postgres рдкрд░ рдЪрд▓ рд░рд╣реЗ рдирдП API рдХреЛ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рд╣рдореЗрдВ рдЗрд╕рдХреА рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдФрд░ рд╕реНрдерд┐рд░рддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЯреНрд░реИрдлрд╝рд┐рдХ рдФрд░ рдбреЗрдЯрд╛ рдПрдХреНрд╕реЗрд╕ рдкреИрдЯрд░реНрди рдХреЗ рд╕рд╛рде рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рджреЛ рд╕рдВрднрд╛рд╡рд┐рдд рддрд░реАрдХреЗ рдереЗ: рдкреНрд░рддреНрдпреЗрдХ рдЧреНрд░рд╛рд╣рдХ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ рдЬреЛ рдореЛрдВрдЧреЛ рдПрдкреАрдЖрдИ рддрдХ рдкрд╣реБрдВрдЪрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдпрд╣ рджреЛрдиреЛрдВ рдПрдкреАрдЖрдИ рддрдХ рдкрд╣реБрдВрдЪ рд╕рдХреЗ; рдпрд╛ рдПрдХ рдкреНрд░реЙрдХреНрд╕реА рдЪрд▓рд╛рдПрдВ рдЬреЛ рдЗрд╕реЗ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдХрд░реЗрдЧрд╛ред рд╣рдордиреЗ
рдЕрдХреНрдХрд╛ рдзрд╛рд░рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рд╕реНрдХрд╛рд▓рд╛ рдкрд░ рдкрд░рджреЗ рдХреЗ рдкреАрдЫреЗ рд▓рд┐рдЦрд╛ред
рдкреНрд░реЙрдХреНрд╕реА рдХрд╛рдлреА рд╕рд░рд▓ рдереА:
- рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рд╕реЗ рдЯреНрд░реИрдлрд╝рд┐рдХ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред
- рдореБрдЦреНрдп API рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░реЗрдВред
- рд╕рдорд╛рди рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд API рдкрд░ рдЕрдЧреНрд░реЗрд╖рд┐рдд рдХрд░реЗрдВред
- рджреЛ рдЙрддреНрддрд░реЛрдВ рдХреЗ рдмреАрдЪ рдХреА рд╡рд┐рд╕рдВрдЧрддрд┐рдпреЛрдВ рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рд▓реЙрдЧ рдореЗрдВ рд░рд┐рдХреЙрд░реНрдб рдХрд░реЗрдВред
рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рдкреНрд░реЙрдХреНрд╕реА рдиреЗ рдХрдИ рд╡рд┐рд╕рдВрдЧрддрд┐рдпреЛрдВ рдХреЛ рджрд░реНрдЬ рдХрд┐рдпрд╛, рдЬрд┐рд╕рдореЗрдВ рджреЛ рдПрдкреАрдЖрдИ рдореЗрдВ рдХреБрдЫ рдХрдард┐рди рд╕реЗ рдХрдард┐рди рд▓реЗрдХрд┐рди рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡реНрдпрд╡рд╣рд╛рд░ рд╕рдВрдмрдВрдзреА рдЕрдВрддрд░ рд╢рд╛рдорд┐рд▓ рдереЗ рдЬрд┐рдиреНрд╣реЗрдВ рдареАрдХ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред
рд╕рдВрд░рдЪрд┐рдд рд▓реЙрдЧрд┐рдВрдЧрдЧрд╛рд░реНрдЬрд┐рдпрди рдореЗрдВ, рд╣рдо рдИрдПрд▓рдХреЗ рд╕реНрдЯреИрдХ (рдПрд▓рд┐рдпрд╕реНрдЯрд┐рдХреНрд╕ рдЦреЛрдЬ, рд▓реЙрдЧрд╕реНрдЯреИрд╢ рдФрд░ рдХрд┐рдмрд╛рдирд╛) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓реЙрдЧ рдЗрди рдХрд░рддреЗ рд╣реИрдВред рдХрд┐рдмрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣рдореЗрдВ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рддрд░реАрдХреЗ рд╕реЗ рдкрддреНрд░рд┐рдХрд╛ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рдорд┐рд▓рд╛ред рдХрд┐рдмрд╛рдирд╛ рд▓реБрд╕реАрди
рдХреЗ рдХреНрд╡реЗрд░реА рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рд╕реАрдЦрдиреЗ рдореЗрдВ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред рд▓реЗрдХрд┐рди рд╣рдордиреЗ рдЬрд▓реНрдж рд╣реА рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдХрд┐ рд╡рд░реНрддрдорд╛рди рд╕реЗрдЯрдЕрдк рдореЗрдВ рдЬрд░реНрдирд▓ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдирд╛ рдпрд╛ рд╕рдореВрд╣ рдмрдирд╛рдирд╛ рдЕрд╕рдВрднрд╡ рдерд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рдЙрди рд▓реЛрдЧреЛрдВ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рдереЗ рдЬрд┐рдиреНрд╣реЗрдВ GET рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рднреЗрдЬрд╛ рдЧрдпрд╛ рдерд╛ред
рд╣рдордиреЗ рдХреЗрд╡рд▓ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд╣реА рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдХрд┐рдпрд╛рдирд╛ рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рд╕рдВрд░рдЪрд┐рдд рдбреЗрдЯрд╛ рднреЗрдЬрдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред рдПрдХ рд▓реЙрдЧ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдореЗрдВ рдХрдИ рдлрд╝реАрд▓реНрдб рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рдФрд░ рд╕реНрдЯреИрдХ рдпрд╛ рдЖрд╡реЗрджрди рдХрд╛ рдирд╛рдо рдЬрд┐рд╕рдиреЗ рдЕрдиреБрд░реЛрдз рднреЗрдЬрд╛ рдерд╛ред рдирдП рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред рдЗрди рд╕рдВрд░рдЪрд┐рдд рдлрд╝реАрд▓реНрдб рдХреЛ рдорд╛рд░реНрдХрд░ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░
рд▓реЙрдЧрд╕реНрдЯреИрд╢-рд▓реЙрдЧрдмреИрдХ-рдПрдирдХреЛрдбрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрд░реЛрдз рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рдЙрдкрдпреЛрдЧреА рдЬрд╛рдирдХрд╛рд░реА рдирд┐рдХрд╛рд▓реА (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдорд╛рд░реНрдЧ, рд╡рд┐рдзрд┐, рд╕реНрдерд┐рддрд┐ рдХреЛрдб) рдФрд░ рд▓реЙрдЧ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде рдПрдХ рдирдХреНрд╢рд╛ рдмрдирд╛рдпрд╛ред рдпрд╣рд╛рдБ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ:
import akka.http.scaladsl.model.HttpRequest import ch.qos.logback.classic.{Logger => LogbackLogger} import net.logstash.logback.marker.Markers import org.slf4j.{LoggerFactory, Logger => SLFLogger} import scala.collection.JavaConverters._ object Logging { val rootLogger: LogbackLogger = LoggerFactory.getLogger(SLFLogger.ROOT_LOGGER_NAME).asInstanceOf[LogbackLogger] private def setMarkers(request: HttpRequest) = { val markers = Map( "path" -> request.uri.path.toString(), "method" -> request.method.value ) Markers.appendEntries(markers.asJava) } def infoWithMarkers(message: String, akkaRequest: HttpRequest) = rootLogger.info(setMarkers(akkaRequest), message) }
рд╣рдорд╛рд░реЗ рд▓реЙрдЧ рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рдлрд╝реАрд▓реНрдбреНрд╕ рдиреЗ рд╣рдореЗрдВ рд╕реВрдЪрдирд╛рддреНрдордХ рдбреИрд╢рдмреЛрд░реНрдб рдмрдирд╛рдиреЗ рдФрд░ рд╡рд┐рд╕рдВрдЧрддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕рдВрджрд░реНрдн рдЬреЛрдбрд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреА, рдЬрд┐рд╕рд╕реЗ рд╣рдореЗрдВ рджреЛ рдПрдкреАрдЖрдИ рдХреЗ рдмреАрдЪ рдХреБрдЫ рдЫреЛрдЯреА рд╡рд┐рд╕рдВрдЧрддрд┐рдпреЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓реАред
рдЯреНрд░реИрдлрд╝рд┐рдХ рдкреНрд░рддрд┐рдХреГрддрд┐ рдФрд░ рдкреНрд░реЙрдХреНрд╕реА рд░реАрдлрд╝реИрдХреНрдЯрд░рд┐рдВрдЧCODE рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ PROD рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рд▓рдЧрднрдЧ рд╕рдЯреАрдХ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдорд┐рд▓реАред рдореБрдЦреНрдп рдЕрдВрддрд░ рдпрд╣ рдерд╛ рдХрд┐ CODE рдореЗрдВ рдХреЛрдИ рдЯреНрд░реИрдлрд╝рд┐рдХ рдирд╣реАрдВ рдерд╛ред CODE рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рджреЛрд╣рд░рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рдУрдкрди рд╕реЛрд░реНрд╕ рдЯреВрд▓
GoReplay (рдЗрд╕рдХреЗ рдмрд╛рдж рдЧреЛрд░ рдХреЗ рд░реВрдк рдореЗрдВ
рд╕рдВрджрд░реНрднрд┐рдд ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рдЕрдкрдиреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдФрд░ рд▓рдЪреАрд▓рд╛ рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред
рдЪреВрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдПрдкреАрдЖрдИ рдореЗрдВ рдЖрдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдЯреНрд░реИрдлрд╝рд┐рдХ рдкрд╣рд▓реЗ рдкреНрд░реЙрдХреНрд╕реА рдореЗрдВ рдЧрдП рдереЗ, рдЗрд╕рд▓рд┐рдП рдкреНрд░реЙрдХреНрд╕реА рдХрдВрдЯреЗрдирд░реЛрдВ рдкрд░ рдЧреЛрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрдпрд╛ред рдиреАрдЪреЗ рджреЗрдЦреЗрдВ рдХрд┐ рдЖрдкрдХреЗ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдЧреЛрд░ рдХреЛ рдХреИрд╕реЗ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рдП рдФрд░ рдкреЛрд░реНрдЯ 80 рдкрд░ рдЯреНрд░реИрдлрд┐рдХ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХреИрд╕реЗ рд╢реБрд░реВ рдХреА рдЬрд╛рдП рдФрд░ рдЗрд╕реЗ рджреВрд╕рд░реЗ рд╕рд░реНрд╡рд░ рдкрд░ рднреЗрдЬрд╛ рдЬрд╛рдПред
wget https://github.com/buger/goreplay/releases/download/v0.16.0.2/gor_0.16.0_x64.tar.gz tar -xzf gor_0.16.0_x64.tar.gz gor sudo gor --input-raw :80 --output-http http://apiv2.code.co.uk
рдереЛрдбрд╝реА рджреЗрд░ рдХреЗ рд▓рд┐рдП рд╕рдмрдХреБрдЫ рдареАрдХ рд░рд╣рд╛, рд▓реЗрдХрд┐рди рдмрд╣реБрдд рдЬрд▓реНрдж рдЦрд░рд╛рдмреА рдЖ рдЧрдИ рдЬрдм рдкреНрд░реЙрдХреНрд╕реА рдХрдИ рдорд┐рдирдЯреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдкрд▓рдмреНрдз рд╣реЛ рдЧрдИред рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдореЗрдВ, рд╣рдордиреЗ рдкрд╛рдпрд╛ рдХрд┐ рд╕рднреА рддреАрди рдкреНрд░реЙрдХреНрд╕реА рдХрдВрдЯреЗрдирд░ рд╕рдордп-рд╕рдордп рдкрд░ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рд▓рдЯрдХрд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред рдкрд╣рд▓реЗ рд╣рдореЗрдВ рд▓рдЧрд╛ рдХрд┐ рдкреНрд░реЙрдХреНрд╕реА рдХреНрд░реИрд╢ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЧреЛрд░ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рдереЗред рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рдХрдВрд╕реЛрд▓ рдХреЗ рдЖрдЧреЗ рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдкрд░, рд╣рдордиреЗ рдкрд╛рдпрд╛ рдХрд┐ рдкреНрд░реЙрдХреНрд╕реА рдХрдВрдЯреЗрдирд░ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рд▓рдЯрдХрд╛рдП рдЧрдП, рд▓реЗрдХрд┐рди рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдирд╣реАрдВред
рд╕рдорд╕реНрдпрд╛ рдХреЛ рдФрд░ рдЧрд╣рд░рд╛рдИ рд╕реЗ рд╕рдордЭрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рд╣рдордиреЗ рдЧреЛрд░ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдЦреЛрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдЗрд╕ рдмрд╛рд░ рдкреНрд░реЙрдХреНрд╕реА рдкрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рднрд╛рд░ рдХреЗ рдмрд┐рдирд╛ред рд╕рдорд╛рдзрд╛рди рд╣рдорд╛рд░реЗ рдорд╛рдзреНрдпрдорд┐рдХ рдвреЗрд░ рд╕реЗ рд╕рдВрдЧреАрддрдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдЖрдпрд╛ рдерд╛ред рдЗрд╕ рд╕реНрдЯреИрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рдЖрдкрд╛рддрдХрд╛рд▓ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╣рдорд╛рд░реЗ
рдХрд╛рд░реНрдпрд╢реАрд▓ рдирд┐рдЧрд░рд╛рдиреА рдЙрдкрдХрд░рдг рд▓рдЧрд╛рддрд╛рд░ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рд╕рдордп, рдЗрд╕ рд╕реНрдЯреИрдХ рд╕реЗ CODE рддрдХ рджреЛрд╣рд░реА рдЧрддрд┐ рд╕реЗ рдЯреНрд░реИрдлрд╝рд┐рдХ рдкреНрд▓реЗрдмреИрдХ рдиреЗ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЗ рдХрд╛рдо рдХрд┐рдпрд╛ред
рдирдП рдирд┐рд╖реНрдХрд░реНрд╖реЛрдВ рдиреЗ рдХрдИ рд╕рд╡рд╛рд▓ рдЦрдбрд╝реЗ рдХрд┐рдП рд╣реИрдВред рдкреНрд░реЙрдХреНрд╕реА рдХреЛ рдПрдХ рдЕрд╕реНрдерд╛рдпреА рдЙрдкрдХрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдЕрдиреНрдп рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рддрд░рд╣ рдзреНрдпрд╛рди рд╕реЗ рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реЛрдЧрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣
рдЕрдХреНрдХрд╛ рд╣реЗрдЯрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рд╕рд╕реЗ рд╣рдорд╛рд░реА рдХреЛрдИ рднреА рдЯреАрдо рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рдереАред рдХреЛрдб рдЧрдбрд╝рдмрдбрд╝ рдерд╛ рдФрд░ рддреНрд╡рд░рд┐рдд рд╕реБрдзрд╛рд░реЛрдВ рд╕реЗ рднрд░рд╛ рдерд╛ред рд╣рдордиреЗ рдкрдардиреАрдпрддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рд╛рд░реЗ рд░рд┐рдлреИрдХреНрдЯрд┐рдВрдЧ рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдЗрд╕ рдмрд╛рд░ рд╣рдордиреЗ рдкрд╣рд▓реЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдП рдЧрдП рдиреЗрд╕реНрдЯреЗрдб рд▓реЙрдЬрд┐рдХ рдХреЗ рдмрдЬрд╛рдп рдЬрдирд░реЗрдЯрд░ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ред рдФрд░ рдЕрдзрд┐рдХ рд▓реЙрдЧрд┐рдВрдЧ рдорд╛рд░реНрдХрд░ рднреА рдЬреЛрдбрд╝реЗред
рд╣рдореЗрдВ рдЙрдореНрдореАрдж рдереА рдХрд┐ рдЕрдЧрд░ рд╣рдо рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдЕрдВрджрд░ рдХреНрдпрд╛ рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рдЙрд╕рдХреЗ рд╡рд┐рд╡рд░рдг рдореЗрдВ рдЪрд▓реЗ рдЧрдП рдФрд░ рдЗрд╕рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рддрд░реНрдХ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдпрд╛ рддреЛ рд╣рдо рдкреНрд░реЙрдХреНрд╕реА рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рдЬрдордиреЗ рд╕реЗ рд░реЛрдХ рдкрд╛рдПрдВрдЧреЗред рд▓реЗрдХрд┐рди рд╡рд╣ рдХрд╛рдо рдирд╣реАрдВ рдЖрдпрд╛ред рдЫрджреНрдо рдХреЛ рдЕрдзрд┐рдХ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреЗ рджреЛ рд╕рдкреНрддрд╛рд╣ рдмрд╛рдж, рд╣рдореЗрдВ рд▓рдЧрд╛ рдХрд┐ рдлрдВрд╕ рдЧрдпрд╛ред рдирд┐рд░реНрдгрдп рд▓реЗрдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ред рд╣рдордиреЗ рдЬреЛрдЦрд┐рдо рд▓реЗрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдФрд░ рдкреНрд░реЙрдХреНрд╕реА рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░рд╡рд╛рд╕ рдкрд░ рд╕рдордп рдмрд┐рддрд╛рдиреЗ рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИ рдХрд┐ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреЗ рдПрдХ рдЯреБрдХрдбрд╝реЗ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдЬреЛ рдПрдХ рдорд╣реАрдиреЗ рдореЗрдВ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рд╣рдордиреЗ рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рджреЛ рдФрд░ рд╡рд┐рдлрд▓рддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рднреБрдЧрддрд╛рди рдХрд┐рдпрд╛ - рд▓рдЧрднрдЧ рджреЛ рдорд┐рдирдЯ рдкреНрд░рддреНрдпреЗрдХ - рд▓реЗрдХрд┐рди рдпрд╣ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдерд╛ред
рдорд╛рд░реНрдЪ 2018 рддрдХ рддреЗрдЬреА рд╕реЗ рдЖрдЧреЗ рдмрдврд╝реЗрдВ, рдЬрдм рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реАрдУрдПрдордПрд╕ рдореЗрдВ рдПрдкреАрдЖрдИ рдкреНрд░рджрд░реНрд╢рди рдпрд╛ рдХреНрд▓рд╛рдЗрдВрдЯ рдЕрдиреБрднрд╡ рдХрд╛ рддреНрдпрд╛рдЧ рдХрд┐рдП рдмрд┐рдирд╛ рд╕реАрдУрдбреАрдИ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╡рд╛рд╕ рдкреВрд░рд╛ рдХрд░ рд▓рд┐рдпрд╛ рд╣реИред рдЕрдм рд╣рдо CODE рд╕реЗ рдкрд░рджреЗ рдХреЗ рдкреАрдЫреЗ рд▓рд┐рдЦрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдкрд╣рд▓рд╛ рдХрджрдо рдПрдкреАрдЖрдИ рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреЛ рдмрджрд▓рдирд╛ рдерд╛ рддрд╛рдХрд┐ рдкреНрд░реЙрдХреНрд╕реА рдкрд╣рд▓реЗ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░реЗред рдЬреИрд╕рд╛ рдХрд┐ рд╣рдордиреЗ рдКрдкрд░ рдХрд╣рд╛, рдпрд╣ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХреЗ рджреНрд╡рд╛рд░рд╛ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдПрдХ рдХрдард┐рдирд╛рдИ рдереАред
рдбреЙрдХреНрдпреВрдореЗрдВрдЯ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╕рдВрдЧреАрддрдХрд╛рд░ рдХрд┐рдирд┐рд╕ рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рд╕рдВрджреЗрд╢ рднреЗрдЬрддрд╛ рд╣реИред рдХреЗрд╡рд▓ рдПрдХ рдПрдкреАрдЖрдИ рдХреЛ рдирдХрд▓ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрджреЗрд╢ рднреЗрдЬрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП, API рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдПрдХ рдзреНрд╡рдЬ рд╣реИ: Mongo рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд API рдХреЗ рд▓рд┐рдП рд╕рд╣реА рд╣реИ, рдФрд░ рд╕рдорд░реНрдерд┐рдд рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рдХреЗ рд▓рд┐рдП рдЧрд▓рдд рд╣реИред рдХреЗрд╡рд▓ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЙрдХреНрд╕реА рдХреЛ рдмрджрд▓рдирд╛ рдкрд╣рд▓реЗ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдЧреЛ рддрдХ рдЕрдиреБрд░реЛрдз рдкрд╣реБрдВрдЪрдиреЗ рддрдХ рд╕рдВрджреЗрд╢ рдХрд╛рдЗрдиреЗрд╕рд┐рд╕ рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рдирд╣реАрдВ рднреЗрдЬрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ рдмрд╣реБрдд рд▓рдВрдмрд╛ рд╣реЛ рдЧрдпрд╛ рд╣реИред
рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рддреБрд░рдВрдд рдЙрдбрд╝рд╛рди рднрд░рдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рдХреЗ рд╕рднреА рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП HTTP рдПрдВрдбрдкреЙрдЗрдВрдЯ рдмрдирд╛рдпрд╛ред рдЗрд╕рдиреЗ рд╣рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдФрд░ рдлрд┐рд░ рд╕реЗ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛ рдореБрдЦреНрдп рдПрдкреАрдЖрдИ рдХреЛ рдмрд╣реБрдд рдЬрд▓реНрджреА рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреАред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдорд╛рдирд╡ рдмрд╛рддрдЪреАрдд рдФрд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХрдо рд╣реЛ рд╕рдХрддреА рд╣реИред
рдЕрдм рд╕рднреА рдЕрдиреБрд░реЛрдз рдкрд╣рд▓реЗ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рдХреЛ рднреЗрдЬреЗ рдЧрдП, рдФрд░ рдПрдкреАрдЖрдИ 2 рдиреЗ рдХрд┐рдирд┐рд╕ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХреАред рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдкрд░рд┐рд╡рд░реНрддрди рдФрд░ рдкреБрдирд░реНрдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреЛ рд╕реНрдерд╛рдпреА рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЕрдЧрд▓рд╛ рдХрджрдо рдкреЛрд╕реНрдЯрдЧреНрд░рд┐рдЬ рдПрдкреАрдЖрдИ рдХреЛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЙрдХреНрд╕реА рдФрд░ рдлреЛрд░реНрд╕ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╣рдЯрд╛рдиреЗ рдХрд╛ рдерд╛ред рдЪреВрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХрдИ рдЧреНрд░рд╛рд╣рдХ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рдерд╛ред рдЗрд╕рд▓рд┐рдП, рд╣рдордиреЗ рдЗрд╕ рдХрд╛рд░реНрдп рдХреЛ рдбреАрдПрдирдПрд╕ рдХреЗ рд╕реНрддрд░ рддрдХ рдмрдврд╝рд╛рдпрд╛ред рдпрд╣реА рд╣реИ, рд╣рдордиреЗ DNS рдореЗрдВ рдПрдХ CNAME рдмрдирд╛рдпрд╛ рд╣реИ рдЬреЛ рдкрд╣рд▓реЗ ELB рдкреНрд░реЙрдХреНрд╕реА рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ ELB API рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрджрд▓ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕рдиреЗ рдкреНрд░рддреНрдпреЗрдХ рд╡реНрдпрдХреНрддрд┐ рдПрдкреАрдЖрдИ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдПрдХ рдПрдХрд▓ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреАред
PROD рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рдЖ рдЧрдпрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдереЛрдбрд╝рд╛ рдбрд░рд╛рд╡рдирд╛ рдерд╛, рдареАрдХ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдореБрдЦреНрдп рдХрд╛рдо рдХрд╛ рдорд╛рд╣реМрд▓ рд╣реИред рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд╕рд░рд▓ рдереА, рдХреНрдпреЛрдВрдХрд┐ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдмрджрд▓рдХрд░ рд╕рдм рдХреБрдЫ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬреИрд╕рд╛ рдХрд┐ рдПрдХ рд╕реНрдЯреЗрдЬ рдорд╛рд░реНрдХрд░ рдХреЛ рд▓реЙрдЧ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛, рдХреЗрд╡рд▓ рдХрд┐рдмрд╛рдирд╛ рдлрд┐рд▓реНрдЯрд░ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдХреЗ рдкрд╣рд▓реЗ рдирд┐рд░реНрдорд┐рдд рдбреИрд╢рдмреЛрд░реНрдб рдХреЛ рдлрд┐рд░ рд╕реЗ рдкреНрд░реЛрдлрд╛рдЗрд▓ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЧрдпрд╛ред
рдкреНрд░реЙрдХреНрд╕реА рдФрд░ рдорд╛рдирдЧреЛ рдбреАрдмреА рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдирд╛10 рдорд╣реАрдиреЗ рдФрд░ 2.4 рдорд┐рд▓рд┐рдпрди рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд┐рдП рдЧрдП рд▓реЗрдЦреЛрдВ рдХреЗ рдмрд╛рдж, рд╣рдо рдЖрдЦрд┐рд░рдХрд╛рд░ рдорд╛рдирдЧреЛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕рднреА рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдереЗред рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ, рд╣рдореЗрдВ рд╡рд╣ рдХрд░рдирд╛ рдерд╛ рдЬреЛ рд╣рдо рд╕рднреА рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣реЗ рдереЗ: рдкреНрд░реЙрдХреНрд╕реА рдХреЛ рдорд╛рд░рдирд╛ред
рд▓рдЪреАрд▓реЗ рдПрдкреАрдЖрдИ рдкреНрд░реЙрдХреНрд╕реА рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд▓реЙрдЧред рдлреЛрдЯреЛ: рд╕рдВрдкрд╛рджрдХреАрдп рдЙрдкрдХрд░рдг / рдЕрднрд┐рднрд╛рд╡рдХрд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреЗ рдЗрд╕ рдЫреЛрдЯреЗ рд╕реЗ рдЯреБрдХрдбрд╝реЗ рдиреЗ рд╣рдореЗрдВ рдЗрддрдиреА рдкрд░реЗрд╢рд╛рдирд┐рдпрд╛рдБ рджреАрдВ рдХрд┐ рд╣рдо рдЗрд╕реЗ рдЬрд▓реНрдж рд╣реА рдЦрддреНрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддрд░рд╕ рдЧрдП! рд╣рдореЗрдВ рдмрд╕ рдЗрддрдирд╛ рдХрд░рдирд╛ рдерд╛ рдХрд┐ CNAME рд░рд┐рдХреЙрд░реНрдб рдХреЛ рд╕реАрдзреЗ APIV2 рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПред
рдкреВрд░реА рдЯреАрдо рдПрдХ рдХрдВрдкреНрдпреВрдЯрд░ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдЗрдХрдЯреНрдард╛ рд╣реЛ рдЧрдИред рдХреЗрд╡рд▓ рдПрдХ рдХреАрд╕реНрдЯреНрд░реЛрдХ рдмрдирд╛рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ред рд╕рдмрдиреЗ рдЕрдкрдиреА рд╕рд╛рдВрд╕ рд░реЛрдХ рд░рдЦреА рдереА! рдкреВрд░реА рдЪреБрдкреНрдкреА ... рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ! рдХрд╛рдо рд╣реЛ рдЧрдпрд╛ред рдФрд░ рдХреБрдЫ рднреА рдирд╣реАрдВ рдЙрдбрд╝рд╛! рд╣рдо рд╕рднреА рдЦреБрд╢реА рд╕реЗ рдЭреВрдо рдЙрдареЗред
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдкреБрд░рд╛рдиреЗ рдорд╛рдирдЧреЛ рдбреАрдмреА рдПрдкреАрдЖрдИ рдХреЛ рд╣рдЯрд╛рдХрд░ рдЕрднреА рддрдХ рдПрдХ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдкреБрд░рд╛рдиреЗ рдХреЛрдб рдХреЛ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдмреЗрддрд╛рдм, рд╣рдордиреЗ рдкрд╛рдпрд╛ рдХрд┐ рд╣рдорд╛рд░реЗ рдПрдХреАрдХрд░рдг рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдирдП рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрднреА рд╕рдорд╛рдпреЛрдЬрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╕рдм рдХреБрдЫ рдЬрд▓реНрджреА рд▓рд╛рд▓ рд╣реЛ рдЧрдпрд╛ред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рдорд╕реНрдпрд╛рдПрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдереАрдВ рдФрд░ рд╣рдордиреЗ рдЙрдиреНрд╣реЗрдВ рдЖрд╕рд╛рдиреА рд╕реЗ рддрдп рдХрд┐рдпрд╛ред PostgreSQL рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рд╕рд╛рде рдХрдИ рд╕рдорд╕реНрдпрд╛рдПрдВ рдереАрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдкрд░реАрдХреНрд╖рдгреЛрдВ рджреНрд╡рд╛рд░рд╛ рдкрдХрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕ рдЧрд▓рддреА рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдХрд░, рд╣рдордиреЗ рдПрдХ рд╕рдмрдХ рд╕реАрдЦрд╛: рдПрдХ рдмрдбрд╝рд╛ рдХрд╛рдо рд╢реБрд░реВ рдХрд░рддреЗ рд╕рдордп, рдпрд╣ рд╕рд╛рдордВрдЬрд╕реНрдп рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ рдХрд┐ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реЛрдВрдЧреАред
рдЙрд╕рдХреЗ рдмрд╛рдж, рд╕рдм рдХреБрдЫ рд╕реБрдЪрд╛рд░реВ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛ред рд╣рдордиреЗ рдСрдкреНрд╕рдореИрдирдЧрд░ рд╕реЗ рдореЛрдВрдЧреЛ рдХреЗ рд╕рднреА рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ рдХрд╛рдЯ рджрд┐рдпрд╛, рдФрд░ рдлрд┐рд░ рдЙрдиреНрд╣реЗрдВ рдХрд╛рдЯ рджрд┐рдпрд╛ред рдХреЗрд╡рд▓ рдПрдХ рд╣реА рдХрд╛рдо рдХрд░рдирд╛ рдмрд╛рдХреА рдерд╛ред рдФрд░ рд╕реЛ рдЬрд╛рдУред