рдлреЗрд╕рдмреБрдХ рд╡реЗрдмрдмреБрдХ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХрд╛ рд╡рд┐рдХрд╛рд╕: рд╢реВрдиреНрдп рд╕реЗ 25,000 рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб

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



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

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

рдЗрд╕рд▓рд┐рдП, рд╡реЗрдмрд╣реВрдХ рдХрд╛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рдореБрдЦреНрдп рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, ManyChat рдиреЗ Yii рдореЗрдВ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдирд┐рдпрдВрддреНрд░рдХ рд╕реЗ рдЖрдХрд╛рд╢рдЧрдВрдЧрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд┐рддрд░рд┐рдд рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рддреАрди рд╕рд╛рд▓ рдХреЗ рджреМрд░рд╛рди рдХрдИ рдмрд╛рд░ рдЕрдкрдиреА рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛ред рдХрдЯреМрддреА рджрд┐рдорд┐рддреНрд░реА рдХреБрд╢реНрдирд┐рдХреЛрд╡ рдХреЗ рддрд╣рдд рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдкрдврд╝реЗрдВ (cancellarius)

рджрд┐рдорд┐рддреНрд░реА рдХреБрд╢реНрдирд┐рдХреЛрд╡ рдорд╛рдирд╕рдЪреИрдЯ рдкрд░ рд╡рд┐рдХрд╛рд╕ рдХрд╛ рдиреЗрддреГрддреНрд╡ рдХрд░рддрд╛ рд╣реИ рдФрд░ 2001 рд╕реЗ PHP рдореЗрдВ рдкреЗрд╢реЗрд╡рд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИред рджрд┐рдорд┐рддреНрд░реА рдЖрдкрдХреЛ рдмрддрд╛рдПрдЧрд╛ рдХрд┐ рд╕реЗрд╡рд╛ рдФрд░ рднрд╛рд░ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреИрд╕реЗ рдмрджрд▓ рдЧрдИ рд╣реИ, рд╡рд┐рднрд┐рдиреНрди рдЪрд░рдгреЛрдВ рдореЗрдВ рдХреНрдпрд╛ рд╕рдорд╛рдзрд╛рди рдФрд░ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпрд╛рдВ рд▓рд╛рдЧреВ рдХреА рдЧрдИрдВ, рдХреИрд╕реЗ рд╡реЗрдмрд╣реВрдХ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╡рд┐рдХрд╕рд┐рдд рд╣реБрдЖ рд╣реИ рдФрд░ рдХреИрд╕реЗ рдкреАрдПрдЪрдкреА рдореЗрдВ рдорд╛рдореВрд▓реА рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд╡рд┐рд╢рд╛рд▓ рднрд╛рд░ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордВрдЪ рдкреНрд░рдмрдВрдзрди рдХрд░рддрд╛ рд╣реИред

рдзреНрдпрд╛рди рджреЗрдВред рд▓реЗрдЦ рджрд┐рдорд┐рддреНрд░реА рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ "рдлреЗрд╕рдмреБрдХ webhook рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рд╡рд┐рдХрд╛рд╕: PHP рд░реВрд╕ 2019 рдореЗрдВ рд╢реВрдиреНрдп рд╕реЗ 12,500 рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб" ред рд▓реЗрдХрд┐рди рдЬрдм рд╡рд╣ рддреИрдпрд╛рд░реА рдХрд░ рд░рд╣рд╛ рдерд╛, рддреЛ рд╕рдВрдХреЗрддрдХ рдмрдврд╝рдХрд░ 25,000 рд╣реЛ рдЧрдПред


ManyChat рдХреНрдпрд╛ рд╣реИ


рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВ рдЖрдкрдХреЛ рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдкрд░рд┐рдЪрд┐рдд рдХрд░рд╛рдКрдВрдЧрд╛ред ManyChat рдПрдХ рдРрд╕реА рд╕реЗрд╡рд╛ рд╣реИ рдЬреЛ рд╡реНрдпрд╡рд╕рд╛рдпреЛрдВ рдХреЛ рд╡рд┐рдкрдгрди, рдмрд┐рдХреНрд░реА рдФрд░ рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП рддрддреНрдХрд╛рд▓ рджреВрддреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреА рд╣реИред рдореБрдЦреНрдп рдЙрддреНрдкрд╛рдж рдлреЗрд╕рдмреБрдХ рдореИрд╕реЗрдВрдЬрд░ рдкрд░ рдореИрд╕реЗрдВрдЬрд░ рдорд╛рд░реНрдХреЗрдЯрд┐рдВрдЧ рдХрд╛ рдордВрдЪ рд╣реИ ред рддреАрди рд╡рд░реНрд╖реЛрдВ рдХреЗ рд▓рд┐рдП, рджреБрдирд┐рдпрд╛ рдХреЗ 100 рджреЗрд╢реЛрдВ рдХреЗ 1 рдорд┐рд▓рд┐рдпрди рд╕реЗ рдЕрдзрд┐рдХ рд╡реНрдпрд╡рд╕рд╛рдпреЛрдВ рдиреЗ 700 рдорд┐рд▓рд┐рдпрди рдЕрдкрдиреЗ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрд╡рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред

рдХреНрд▓рд╛рдЗрдВрдЯ рдХреА рддрд░рдл, рдпрд╣ рдРрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред


рдлреЗрд╕рдмреБрдХ рдореИрд╕реЗрдВрдЬрд░ рдореЗрдВ рд╕рдВрд╡рд╛рджреЛрдВ рдореЗрдВ рдмрдЯрди, рдЪрд┐рддреНрд░ рдФрд░ рдЧреИрд▓рд░реАред

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

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


рд╣рдорд╛рд░реЗ рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рджрд┐рд▓ рдлреНрд▓реЛ рдмрд┐рд▓реНрдбрд░ рдХрдВрдкреЛрдиреЗрдВрдЯ рд╣реИред

рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рд╕реНрд╡рдЪрд╛рд▓рди рдирд┐рдпрдореЛрдВ рдХрд╛ рд╕реЗрдЯ рдЬрд┐рд╕реЗ рд╣рдо рдПрдХ рдмреЙрдЯ рдХрд╣рддреЗ рд╣реИрдВ ред рдЗрд╕рд▓рд┐рдП, рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдорд╛рдирд╡реЗрдЪ рдПрдХ рдмреЙрдЯ рдбрд┐рдЬрд╛рдЗрдирд░ рд╣реИред


рдмреЙрдЯ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдгред

рд╡реНрдпрд╛рдкрд╛рд░ рдХреЗ рдЧреНрд░рд╛рд╣рдХ рдЬреЛ рд╕рдВрд╡рд╛рдж рдореЗрдВ рднрд╛рдЧ рд▓реЗрддреЗ рд╣реИрдВ , рдЙрдиреНрд╣реЗрдВ рдЧреНрд░рд╛рд╣рдХ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ , рдХреНрдпреЛрдВрдХрд┐ рдмрд╛рддрдЪреАрдд рдХреЗ рд▓рд┐рдП рдЧреНрд░рд╛рд╣рдХ рдмреЙрдЯ рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрддрд╛ рд╣реИ ред

рдХреНрдпреЛрдВ рдлреЗрд╕рдмреБрдХ


рдХреНрдпреЛрдВ рдлреЗрд╕рдмреБрдХ рдореИрд╕реЗрдВрдЬрд░, рд╣рдо рдЬреАрд╡рд┐рдд рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдХрд╛ рджреЗрд╢ рд╣реИрдВ? рдЗрд╕рдХреЗ рдХрд╛рд░рдг рд╣реИрдВред

  • Telegram , тДЦ1 Facebook. 1,5 , Telegram 200-300 .
  • Facebook , . , Facebook - .
  • Facebook F8 - 300 . Facebook Messenger. 20 . ManyChat 40%.

Facebook


рдлреЗрд╕рдмреБрдХ рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░реИрдХреНрд╢рди рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЖрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:



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

рдЯреЗрдХреНрдиреЛрд▓реЙрдЬрд┐рдХрд▓ рд╕реНрдЯреИрдХ


рд╣рдо рдпрд╣ рд╕рдм рдПрдХ рдорд╛рдореВрд▓реА рд╕реНрдЯреИрдХ рдкрд░ рдХрд░рддреЗ рд╣реИрдВред рдореВрд▓ рд░реВрдк рд╕реЗ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ PHP рд╣реИред рд╡реЗрдм рд╕рд░реНрд╡рд░ Nginx рдЪрд▓рд╛рддрд╛ рд╣реИ, рдореБрдЦреНрдп рдбреЗрдЯрд╛рдмреЗрд╕ PostgreSQL рд╣реИ, рдФрд░ Redis рдФрд░ Elasticsearch рднреА рд╣реИрдВред рдпрд╣ рд╕рднреА Amazon Web Services рдХреЗ рдмрд╛рджрд▓реЛрдВ рдореЗрдВ рдШреВрдорддрд╛ рд╣реИред

рдлреЗрд╕рдмреБрдХ Webhook рдХреЛ рд╕рдВрднрд╛рд▓рдирд╛


рдлреЗрд╕рдмреБрдХ рдХрд╛ рд╡реЗрдм рдХреИрдорд░рд╛ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ: рдпрд╣ JSON рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдкреЗрд▓реЛрдб рдХреЗ рд╕рд╛рде рдПрдХ рдЕрдиреБрд░реЛрдз рд╣реИред

{
    "object":"page",
    "entry":[
        }
            "id":"<PAGE_ID>",
            "time":1458692752478,
            "messaging":[
                {
                    "sender":{
                        "id":"<PSID>"
                    },
                    "recipient":{
                        "id":"<PAGE_ID>"
                    },

                    ...
                }
            ]  
        }
    ]
}

рд╡реЗрдмрд╣реВрдХ рд╣рдорд╛рд░реЗ рд▓реЛрдб рдХрд╛ рдХреЗрд╡рд▓ 10% рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред рдЙрдирдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рд╡реНрдпрд╛рдкрд╛рд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рд╕рдВрджреЗрд╢ рдзреАрдорд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмреЙрдЯ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░ рджреЗрддрд╛ рд╣реИ, рдФрд░ рд╡реНрдпрд╡рд╕рд╛рдп рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдЦреЛ рджреЗрддрд╛ рд╣реИред

рдЖрдЗрдП рдЙрддреНрдкрд╛рдж рдХреЗ рд▓реЙрдиреНрдЪ рдХреЗ рдмрд╛рдж рд╕реЗ рд╣рдорд╛рд░реА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВред

рдордИ 2016 ред рд╣рдордиреЗ рдЕрднреА рдЕрдкрдиреА рд╕реЗрд╡рд╛ рд╢реБрд░реВ рдХреА рд╣реИ: 20 рдмреЙрдЯ, рдЬрд┐рдирдореЗрдВ рд╕реЗ 10 рдкрд░реАрдХреНрд╖рдг рд╡рд╛рд▓реЗ рдФрд░ 20 рдЧреНрд░рд╛рд╣рдХ рд╣реИрдВред рд▓реЛрдб 0 рдЖрд░рдкреАрдПрд╕ рдерд╛ред

рдЗрдВрдЯрд░реИрдХреНрд╢рди рд╕реНрдХреАрдо рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреА:



  • рдЕрдиреБрд░реЛрдз nginx рдХреЛ рдЬрд╛рддрд╛ рд╣реИред
  • Nginx PHP-FPM рддрдХ рдкрд╣реБрдБрдЪрддрд╛ рд╣реИред
  • PHP-FPM Yii рддрдХ рдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд▓реЗрддрд╛ рд╣реИред
  • рд╡реЗрдмрд╣реВрдХ рдирд┐рдпрдВрддреНрд░рдХ рддрд░реНрдХ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдлреЗрд╕рдмреБрдХ рдХреЛ рдЕрдиреБрд░реЛрдз рднреЗрдЬрддрд╛ рд╣реИред


Nginx рдФрд░ PHP-FPM рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛


рдЬреВрди 2016. рдПрдХ рдорд╣реАрдиреЗ рдмрд╛рдж, рд╣рдордиреЗ рдкреНрд░реЛрдбрдХреНрдЯрд╣рдВрдЯ рдкрд░ рдореИрдирдЪреЗрдЯ рдХреА рдШреЛрд╖рдгрд╛ рдХреА рдФрд░ рдмреЙрдЯ рдХреА рд╕рдВрдЦреНрдпрд╛ 2 рд╣рдЬрд╛рд░ рд╣реЛ рдЧрдИред рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрдврд╝рдХрд░ 7 рд╣рдЬрд╛рд░ рд╣реЛ рдЧрдИ рд╣реИред

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

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



PostgreSQL рдкрд░ рдХрддрд╛рд░реЗрдВ


рджрд┐рд╕рдВрдмрд░ 2016. рд╕реЗрд╡рд╛ 5-10 рдЧреБрдирд╛ рдмрдврд╝реА: 10 рд╣рдЬрд╛рд░ рдмреЙрдЯ рдФрд░ 700 рд╣рдЬрд╛рд░ рдЧреНрд░рд╛рд╣рдХред

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

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

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



рд░реЗрдбрд┐рд╕ рдкрд░ рдХрддрд╛рд░


рдЬреВрди 2017. рд╕реЗрд╡рд╛ рдмрдврд╝ рд░рд╣реА рд╣реИ: 75 рд╣рдЬрд╛рд░ рдмреЙрдЯ, 7 рдорд┐рд▓рд┐рдпрди рдЧреНрд░рд╛рд╣рдХред

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

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

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

рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдиреЗ рд╣рдореЗрдВ рдпрд╣ рд╕рдордЭрдиреЗ рдореЗрдВ рдорджрдж рдХреА рдХрд┐ рдХрддрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдмрд┐рдирд╛ рд╣рдо рдХреБрдЫ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рд╕рдорд╛рдзрд╛рди рдХреЗ рд░реВрдк рдореЗрдВ, рдЙрдиреНрд╣реЛрдВрдиреЗ рд░реЗрдбрд┐рд╕ рдХреЛ рдЪреБрдирд╛ред
рдХрддрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рд░реЗрдбрд┐рд╕ рдЪреБрдирдирд╛ рдПрдХ рдХрд▓реНрдкрдирд╛рддреНрдордХ рд░реВрдк рд╕реЗ рдЕрдЪреНрдЫрд╛ рдирд┐рд░реНрдгрдп рд╣реИред
рдЙрдиреНрд╣реЛрдВрдиреЗ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХреАред рдЕрдм рд╣рдорд╛рд░реЗ рд░реЗрдбрд┐рд╕-рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣рд░ рд╕реЗрдХрдВрдб 1 рдорд┐рд▓рд┐рдпрди рд╡рд┐рднрд┐рдиреНрди рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рд╣рдо рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХреЗрд╡рд▓ рд╕рднреА рдХреИрд╕реНрдХреЗрдбрд┐рдВрдЧ рдХрддрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдХрд░рддреЗ рд╣реИрдВ, рдмрд▓реНрдХрд┐ рдЕрдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рднреА рдХрд░рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирд┐рдЧрд░рд╛рдиреАред

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



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



рдпрд╣ рдПрдХ рджреБрд░реНрд▓рдн рдорд╛рдорд▓рд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдпрднрд╛рд░ рдкрд░ рдкрд░реАрдХреНрд╖рдг рд╕реЗ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдХреНрд╕рд░ рд╣реЛрдЧрд╛ред

рд╣рдордиреЗ рджреВрд╕рд░рд╛ рдЙрдкрд╛рдп рдвреВрдВрдврдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ред рдпрд╣рд╛рдВ рд░реЗрдбрд┐рд╕ рдХреА рд╕рд╛рджрдЧреА рдФрд░ рд╢рдХреНрддрд┐ рдмрдЪрд╛рд╡ рдореЗрдВ рдЖрдИ - рд╣рдордиреЗ рдкреНрд░рддреНрдпреЗрдХ рдмреЙрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрддрд╛рд░ рдмрдирд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ ред



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

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

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХрддрд╛рд░реЗрдВ рдЖрднрд╛рд╕реА рд╣реИрдВ ред рдпреЗ рд░реЗрдбрд┐рд╕ рдореЗрдореЛрд░реА рдореЗрдВ рд╕рд┐рд░реНрдл рдХреЛрд╢рд┐рдХрд╛рдПрдВ рд╣реИрдВред рдЬрдм рдХрддрд╛рд░ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдЕрд╕реНрддрд┐рддреНрд╡ рдореЗрдВ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдпрд╣ рдХреБрдЫ рднреА рдХрдмреНрдЬрд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

ReactPHP


рдЬрдирд╡рд░реА 2018 ред рд╣рдо рдкреНрд░рддрд┐ рдорд╛рд╣ 1 рдмрд┐рд▓рд┐рдпрди рдкреЛрд╕реНрдЯ рддрдХ рдкрд╣реБрдВрдЪ рдЧрдП рд╣реИрдВред

рд▓реЛрдб рдкреНрд░рддрд┐ рд╕рд┐рд╕реНрдЯрдо 5 рд╣рдЬрд╛рд░ рдЖрд░рдкреАрдПрд╕ рдерд╛ред рдпрд╣ рдкреАрдХ рд▓реЛрдб рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдорд╛рдирдХ рд╣реИред рдЬрдм рдкреНрд░рд╕рд┐рджреНрдз рдЧрд╛рдпрдХреЛрдВ рдХреЗ рдмреЙрдЯ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ, рддреЛ рд╕рдм рдХреБрдЫ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрдИ рдЧреБрдирд╛ рдмрдврд╝ рдЬрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред рд╕рдорд╕реНрдпрд╛ PHP-FPM рдореЗрдВ рд╣реИ: рдпрд╣ рдЕрдм 5 рд╣рдЬрд╝рд╛рд░ рдЖрд░рдкреАрдПрд╕ рдХреЗ рднрд╛рд░ рдХрд╛ рд╕рд╛рдордирд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдЙрд╕ рд╕рдордп рд╣рд░ рдХреЛрдИ рдлреИрд╢рдиреЗрдмрд▓ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣рд╛ рдерд╛ред рд╣рдордиреЗ рдЗрд╕ рдкрд░ рдмрд╛рд░реАрдХреА рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛, ReactPHP рдХреЛ рджреЗрдЦрд╛, рддреНрд╡рд░рд┐рдд рдкрд░реАрдХреНрд╖рдг рдХрд┐рдП, рдЗрд╕реЗ PHP-FPM рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ рдФрд░ рддреБрд░рдВрдд 4 рдЧреБрдирд╛ рд╡реГрджреНрдзрд┐ рд╣реБрдИред



рд╣рдордиреЗ рдЕрдкрдиреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рдВрд╕рд╛рдзрди рдХреЛ рдлрд┐рд░ рд╕реЗ рдирд╣реАрдВ рд▓рд┐рдЦрд╛ - ReactPHP рдиреЗ Yii рдврд╛рдВрдЪреЗ рдХреЛ рдЙрдард╛рдпрд╛ред рдкрд╣рд▓реЗ рд╣рдордиреЗ 4 рд░рд┐рдПрдХреНрдЯрдкреАрдПрдЪрдкреА рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдЙрдард╛рдпрд╛, рдФрд░ рдмрд╛рдж рдореЗрдВ рд╣рдо 30 рддрдХ рдкрд╣реБрдВрдЪ рдЧрдПред рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд╣рдо рдЙрди рдкрд░ рд░рд╣рддреЗ рдереЗ, рдФрд░ рдлреНрд░реЗрдо рд▓реЛрдб рдХреЗ рд╕рд╛рде рдореБрдХрд╛рдмрд▓рд╛ рдХрд┐рдпрд╛ред

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

рдХреНрд▓рд╕реНрдЯрд░


рдЙрдиреНрд╣реЛрдВрдиреЗ рдмреЙрдЯ рд▓рд┐рдпрд╛, рдЙрдиреНрд╣реЗрдВ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдФрд░ рд░реЗрдбрд┐рд╕, рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рдФрд░ рдПрдХ рд╣реИрдВрдбрд▓рд░ рд╕реЗ рддрд╛рд░реНрдХрд┐рдХ рд╢реНрд░реГрдВрдЦрд▓рд╛рдПрдВ рдмрдирд╛рдИрдВред



рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдордиреЗ "рдЧреИрд▓реЗрдХреНрд╕реА" рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдмрдирд╛рдИ рд╣реИ - рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рдПрдХ рддрд╛рд░реНрдХрд┐рдХ рднреМрддрд┐рдХ рдЕрдореВрд░реНрддрддрд╛ ред рдЗрд╕рдХреЗ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВ: Redis, PostgreSQL рдФрд░ PHP рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯред рдкреНрд░рддреНрдпреЗрдХ рдмреЙрдЯ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдХреНрд▓рд╕реНрдЯрд░ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ, рдФрд░ ReactPHP рдХреЛ рдкрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдмреЙрдЯ рдХреЗ рд▓рд┐рдП рд╕рдВрджреЗрд╢ рдХреЛ рдХрд┐рд╕ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдирд╛ рд╣реИред рдКрдкрд░ рдХреА рдпреЛрдЬрдирд╛ рдЖрдЧреЗ рдХрд╛рдо рдХрд░рддреА рд╣реИред


рдмреНрд░рд╣реНрдорд╛рдВрдб рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рд╣реЛ рд░рд╣рд╛ рд╣реИ, рд╣рдорд╛рд░реЗ рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдмреНрд░рд╣реНрдорд╛рдВрдб рднреА рд╣реИ, рдФрд░ рдРрд╕рд╛ рд╣реЛрдиреЗ рдкрд░ рд╣рдо рдПрдХ рдирдпрд╛ "рдЧреИрд▓реЗрдХреНрд╕реА" рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред
рдЖрдХрд╛рд╢рдЧрдВрдЧрд╛рдПрдБ рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдХрд╛ рд╣рдорд╛рд░рд╛ рддрд░реАрдХрд╛ рд╣реИрдВред

Nginx рдФрд░ Lua рдХреЗ рдПрдХ рд╕рдореВрд╣ рдХреЗ рд╕рд╛рде ReactPHP рдХреА рдЬрдЧрд╣


рдЕрдЧрд▓реЗ рдЫрд╣ рдорд╣реАрдиреЛрдВ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рд╡рд┐рдХрд╛рд╕ рдЬрд╛рд░реА рд░рдЦрд╛: рдкреНрд░рддрд┐ рдорд╛рд╣ 200 рдорд┐рд▓рд┐рдпрди рдЧреНрд░рд╛рд╣рдХ рдФрд░ 3 рдмрд┐рд▓рд┐рдпрди рд╕рдВрджреЗрд╢ред 200 рдорд┐рд▓рд┐рдпрди рдкрдВрдЬреАрдХреГрдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдЗрдЯ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ - рд╡рд╣реА рд▓реЛрдбред

рдПрдХ рдирдИ рд╕рдорд╕реНрдпрд╛ рдЦрдбрд╝реА рд╣реЛ рдЧрдИ рд╣реИред Webhooks рдПрдХ рд╣реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдЫреЛрдЯреЗ рдХрд╛рд░реНрдп рд╣реИрдВ, рдФрд░ PHP рдЙрдиреНрд╣реЗрдВ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ ReactPHP рдиреЗ рднреА рдорджрдж рдирд╣реАрдВ рдХреАред

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

рдЗрд╕рд▓рд┐рдП, рд╣рдо рдзреАрд░реЗ-рдзреАрд░реЗ ReactPHP рд╕реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд▓реЙрдЬрд┐рдХ рдХреЛ рдмрдВрдж рдХрд░ рджреЗрддреЗ рд╣реИрдВ, рдЗрд╕реЗ рдкреНрд░реЛрд╕реЗрд╕рд░реНрд╕ рдХреЛ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдирдИ рдХрддрд╛рд░реЛрдВ рдХреЛ рдЕрд▓рдЧ рдХрд░ рджреЗрддреЗ рд╣реИрдВред рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рдЙрдиреНрд╣реЛрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ ReactPHP рдПрдХ рд╕рд░рд▓ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ - рдпрд╣ рдПрдХ рд╡реЗрдмрд╣реВрдХ рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдПрдХ рдХрддрд╛рд░ рдореЗрдВ рд░рдЦрддрд╛ рд╣реИ ред рдмрд╛рдХреА рд╕рд╛рд░рд╛ рдХрд╛рдо рдЬреБрд▓реВрд╕реЛрдВ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХреНрдпрд╛ рдРрд╕реЗ рд╕рд░рд▓ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдПрдирд╛рд▓реЙрдЧ рд╣реИрдВ?

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



рдпрд╣ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдирд┐рдХрд▓рд╛: рд╣рдо рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЕрдиреБрд░реЛрдз рдирд┐рдХрд╛рдп рдХреЛ рдЙрдард╛рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рд╕реАрдзреЗ Redis рдореЗрдВ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред

location / {
    error_log /var/log/nginx/error.log;

    resolver ###resolver###;

    content_by_lua '

        ngx.req.read_body()
        local mybody = ngx.req.get_body_data()

        if not mybody then
            return ngx.exit(400)
        end

        local hash = ngx.crc32_long(mybody)
        local cluster = hash % ###wh_inbound_shards### + 1

        local redis = require "resty.redis";
        local red = radis.new()
        red:set_timeout(3000)

        local ok, err = red:connect("###redisConnectionWh2.server.host###", 6379)
		
        if not ok then
            ngx.log(ngx.ERR, err, "Redis failed to connect")
            return ngx.exit(403)
        end

        local ok, err = red:rpush("###wh_inbound_queue###" .. queuesuffix .. cluster, mybody)
        
        if not ok then
            ngx.log(ngx.ERR, err, "Failed to write data", mybody)
            return ngx.exit(500)
        end

        local ok, err = red:set_keepalive(10000, 100)

        ngn.say("ok")
    ';
}

OpenResty рдФрд░ Lua рдиреЗ рдереНрд░реВрдкреБрдЯ рдмрдврд╝рд╛рдиреЗ рдореЗрдВ рдорджрдж рдХреА рд╣реИред рд╣рдо рдЕрдкрдиреЗ рдХрд╛рдо рдХреЗ рдмреЛрдЭ рд╕реЗ рдЬреВрдЭрддреЗ рд░рд╣рддреЗ рд╣реИрдВ, рд╕реЗрд╡рд╛ рдЬрд╛рд░реА рд░рд╣рддреА рд╣реИ, рд╣рд░ рдХреЛрдИ рдЦреБрд╢ рд░рд╣рддрд╛ рд╣реИред

рд▓реБрдЖ рдкрд░ рд╕рдорд╛рдзрд╛рди рдореЗрдВ рд╕реБрдзрд╛рд░


рдЕрдВрддрд┐рдо рдЪрд░рдг ( рдиреЛрдЯ: рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рд╕рдордп ) рдлрд░рд╡рд░реА 2019 рд╣реИ ред 500 рдорд┐рд▓рд┐рдпрди рдЧреНрд░рд╛рд╣рдХ рд╣рд░ рдорд╣реАрдиреЗ рдПрдХ рдорд┐рд▓рд┐рдпрди рдмреЙрдЯ рд╕реЗ 7 рдорд┐рд▓рд┐рдпрди рд╕рдВрджреЗрд╢ рднреЗрдЬрддреЗ рд╣реИрдВ рдФрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред

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



рд╣рдо рдЕрд▓рдЧ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдФрд░ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдмрдирд╛рдП рд░рдЦрддреЗ рд╣реИрдВ ред рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдЪрд┐рдВрддрд╛рдУрдВ рдХреЗ рдЖрдБрдХрдбрд╝реЗ рдФрд░ рдЕрдиреНрдп рдЪреАрдЬреЗрдВ - рдЕрдм рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рдкреНрд░рдгрд╛рд▓реА рд╣реИред

рдкреНрд░рдгрд╛рд▓реА рд╕рд░рд▓ рд▓рдЧрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИред рд╣реБрдб рдХреЗ рддрд╣рдд, 500 рд╕реЗрд╡рд╛рдПрдВ рд╣реИрдВ рдЬреЛ рдЙрдирдХреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддреА рд╣реИрдВред рдкреВрд░рд╛ рд╕рд┐рд╕реНрдЯрдо 50 рдЕрдореЗрдЬрд╝рди рдЙрджрд╛рд╣рд░рдгреЛрдВ рдкрд░ рдЪрд▓рддрд╛ рд╣реИ: Redis, PostgreSQL рдФрд░ рд╕реНрд╡рдпрдВ PHP рд╕рдВрдЪрд╛рд▓рдХреЛрдВред

рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╡рд┐рдХрд╛рд╕


PHP рдореЗрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рд╛рдИрд▓реЛрдб рдХреЛ рдардВрдбрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдпрд╛рдж рдХрд░реЗрдВ рдХрд┐ рд╣рдордиреЗ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдпрд╣ рдХреИрд╕реЗ рдХрд┐рдпрд╛ред

  • рдирд┐рдпрдорд┐рдд Nginx рдФрд░ PHP-FPM рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд┐рдпрд╛ред
  • PostgreSQL рдФрд░ рдлрд┐рд░ Redis рдореЗрдВ рдХрддрд╛рд░ рдореЗрдВ рдЬреЛрдбрд╝реЗ рдЧрдПред
  • рдХреНрд▓рд╕реНрдЯрд░рд┐рдВрдЧ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ред
  • рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд ReactPHPред
  • рд╣рдордиреЗ рдиреЙрдЧреНрдХреНрд╕ рдФрд░ рд▓реБрдЖ рдХреЗ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдХреЗ рд╕рд╛рде рд░рд┐рдПрдХреНрдЯрдкреАрдПрдЪрдкреА рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛, рдФрд░ рдмрд╛рдж рдореЗрдВ рддрд░реНрдХ рдХреЛ рдЧреБрдЪреНрдЫрд╛ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ред



рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЕрдиреБрднрд╡ рд╕реЗ, рд╣рдордиреЗ рдкрд╛рдпрд╛ рдХрд┐ рд╕рд░рд▓ рд░реВрдк рд╕реЗ рдЬреНрдЮрд╛рдд рджреГрд╖реНрдЯрд┐рдХреЛрдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдФрд░ рд╕реНрдЯреИрдХ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реБрдП, рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдХрдордЬреЛрд░ рднрд╛рдЧреЛрдВ рдХреЛ рдмрджрд▓рдХрд░ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред

, , 11 TeamLead Conf. , LeSS, .

PHP Russia Saint HighLoad++, . PHP , тАФ PHP Russia 13 . highload PHP, Saint HighLoad++ .

Source: https://habr.com/ru/post/undefined/


All Articles