рдПрдХ "рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдШрдЯрдирд╛ рдореЙрдбрд▓" рдХреНрдпрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдЕрдм "рдлреИрд╢рди рдореЗрдВ" рдХреНрдпреЛрдВ рд╣реИ

рдЕрдм рдереАрдо рд╡рд╛рд▓реЗ рдЗрдВрдЯрд░рдиреЗрдЯ рдореЗрдВ "Node.js" рд╢рдмреНрдж рдлреИрд╢рдиреЗрдмрд▓ рд╣реИред рдЗрд╕ рдЫреЛрдЯреЗ рд╕реЗ рд▓реЗрдЦ рдореЗрдВ рд╣рдо рд╕рдордЭрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВрдЧреЗ ("рдЙрдВрдЧрд▓рд┐рдпреЛрдВ рдкрд░") рдХрд┐ рдпрд╣ рд╕рдм рдХрд╣рд╛рдВ рд╕реЗ рдЖрдпрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ "рд╕рд┐рдВрдХреНрд░реЛрдирд╕" рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛрдб ( PHP + MySQL рдореЗрдВ рдирд┐рдпрдорд┐рдд рд╡реЗрдмрд╕рд╛рдЗрдЯ) рдореЗрдВ "рдЕрд╡рд░реБрджреНрдз" I / O рдХреЗ рд╕рд╛рде рд╕рд╛рдорд╛рдиреНрдп рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рд╕реЗ рдХреИрд╕реЗ рднрд┐рдиреНрди рд╣реЛрддрд╛ рд╣реИ рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд░реНрд╡рд░ рдкрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИ рдЬреЛ "рдЕрдиреБрд░реЛрдз рджреНрд╡рд╛рд░рд╛ рд╕реНрдЯреНрд░реАрдо (рдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛) рджреНрд╡рд╛рд░рд╛" рдпреЛрдЬрдирд╛ (рдХреНрд▓рд╛рд╕рд┐рдХ рдЕрдкрд╛рдЪреЗ рд╡реЗрдм рд╕рд░реНрд╡рд░ ) рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рд▓реЗрдЦ рдХреА рдкрдардиреАрдпрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ


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

рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ


рдЯреНрд╡рд┐рдЯрд░ , VKontakte рдФрд░ facebook рдЬреИрд╕реА рдЖрдзреБрдирд┐рдХ рдЕрддреНрдпрдзрд┐рдХ рднрд░реА рд╣реБрдИ рд╕рд╛рдЗрдЯреЗрдВ PHP + Apache + NoSQL рдпрд╛ рд░реВрдмреА рдСрди рд░реЗрд▓реНрд╕ + рдпреВрдирд┐рдХреЙрд░реНрди + NoSQL рдХреЗ рдмрдВрдбрд▓реЛрдВ рдкрд░ рдХрд╛рдо рдХрд░рддреА рд╣реИрдВ, рдФрд░ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдзреАрдореА рдирд╣реАрдВ рд╣реЛрддреА рд╣реИрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╡реЗ SQL рдХреЗ рдмрдЬрд╛рдп NoSQL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рджреВрд╕рд░реЗ, рд╡реЗ рдХрдИ рд╕рдорд╛рди рдЙрддреНрдкрд╛рджрди рд╕рд░реНрд╡рд░реЛрдВ рдореЗрдВ рдЕрдиреБрд░реЛрдз ( "рд╕рдВрддреБрд▓рди" ) рд╡рд┐рддрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ (рдЗрд╕реЗ "рдХреНрд╖реИрддрд┐рдЬ рд╕реНрдХреЗрд▓рд┐рдВрдЧ" рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ)ред рддреАрд╕рд░рд╛, рд╡реЗ рд╕рдм рдХреБрдЫ рд╕рдВрднрд╡ рд╣реИ рдЬреЛ рдХреИрд╢ рдХрд░рддреЗ рд╣реИрдВ: рдкреВрд░реЗ рдкреГрд╖реНрда, рдкреГрд╖реНрда рд╡рд┐рдЦрдВрдбреВ, рдЕрдЬрд╛рдХреНрд╕ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд▓рд┐рдП Json рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдбреЗрдЯрд╛, рдЖрджрд┐ ... рдХреИрд╢реНрдб рдбреЗрдЯрд╛ "рд╕реНрдерд┐рд░" рд╣реИ рдФрд░ рдЗрд╕реЗ рдирд╛рдЗрдЬреЗрдирдПрдХреНрд╕ рдЬреИрд╕реЗ рд╕рд░реНрд╡рд░реЛрдВ рджреНрд╡рд╛рд░рд╛ рддреБрд░рдВрдд рдбрд┐рд▓реАрд╡рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрд╡реЗрджрдиред

рдпрджрд┐ рдЖрдк Apache + PHP рд╕реЗ Node.js. рд╡рд┐рд╖рдпрдЧрдд рдЗрдВрдЯрд░рдиреЗрдЯ рдореЗрдВ рдЖрдк рдЙрди рджреЛрдиреЛрдВ рд╕реЗ рдорд┐рд▓ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдкреНрд░рд╡рд╛рд╣ рдХреЛ "рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдШрдЯрдирд╛ рдореЙрдбрд▓" рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдзреАрдорд╛ рдорд╛рдирддреЗ рд╣реИрдВ, рдФрд░ рдЬреЛ рд╡рд┐рдкрд░реАрдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдмрдЪрд╛рд╡ рдХрд░рддреЗ рд╣реИрдВред

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

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдкрдХрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрдИ рдпреБрдЧрдкрдд рдХрдиреЗрдХреНрд╢рдиреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЙрдирд╕реЗ рд▓рдЧрд╛рддрд╛рд░ рд▓рд┐рдЦрддрд╛ рдФрд░ рдкрдврд╝рддрд╛ рд╣реИ, рддреЛ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдЖрдкрдХреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ "рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдШрдЯрдирд╛ рдореЙрдбрд▓" (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Node.js) рдХреА рдУрд░ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдЖрдк рдХреБрдЫ рд╕рдмрд╕рд┐рд╕реНрдЯрдо рдХреЛ WebSocket рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдореЗрдВ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ Node.js рд╕рд╣реА рд╣реИред

рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдЙрджрд╛рд╣рд░рдг рдЬреЛ "рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдШрдЯрдирд╛ рдореЙрдбрд▓" рдЕрдЪреНрдЫрд╛ рдХрд░реЗрдВрдЧреЗ:

рдЕрд╡рд░реБрджреНрдз рдФрд░ рдЧреИрд░-рдЕрд╡рд░реБрджреНрдз рдЗрдирдкреБрдЯ / рдЖрдЙрдЯрдкреБрдЯ рдХреНрдпрд╛ рд╣реИрдВ?


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

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

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

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

рдЖрд╡рд╢реНрдпрдХ рд╢рд░реНрддреЗрдВ


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

PHP + MySQL + Apache рдХрд╛ рдЧреБрдЪреНрдЫрд╛ , рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛, рдЬрд┐рд╕рдиреЗ рдЗрдВрдЯрд░рдиреЗрдЯ 1.0 рдХреЗ рд╕рд╛рде рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд┐рдпрд╛ред рд╕рд░реНрд╡рд░ рдиреЗ рдкреНрд░рддреНрдпреЗрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЕрдиреБрд░реЛрдз рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рд╕реВрддреНрд░ (рдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛, рдЬреЛ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рд▓рдЧрднрдЧ рд╕рдорд╛рди рд╣реИ ) рд╢реБрд░реВ рдХрд┐рдпрд╛ред рдпрд╣ рд╕реНрдЯреНрд░реАрдо PHP рдореЗрдВ рдЧрдпрд╛ , рд╡рд╣рд╛рдВ рд╕реЗ - рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ, рд╡рд╣рд╛рдВ рдХреБрдЫ рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛, рдФрд░ рдПрдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╕рд╛рде рд▓реМрдЯрд╛ рдЬреЛ рдЗрд╕реЗ HTTP рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рднреЗрдЬрд╛, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдЙрд╕рдиреЗ рдЦреБрдж рдХреЛ рдирд╖реНрдЯ рдХрд░ рджрд┐рдпрд╛ред

рд╣рд╛рд▓рд╛рдВрдХрд┐, "рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп" рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдпрд╛рдж рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд▓рдЧрд╛ред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ "рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде 10,000 рдХрдиреЗрдХреНрд╢рди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ" рдХрд╛ рдХрд╛рд░реНрдп рд╣реИред рдЖрдк рдЗрд╕рдХреЗ рд▓рд┐рдП 10,000 рдзрд╛рдЧреЗ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЙрдиреНрд╣реЗрдВ рдПрдХ-рджреВрд╕рд░реЗ рдХрд╛ рд╕рд╛рде рдХреИрд╕реЗ рдорд┐рд▓реЗрдЧрд╛? рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╕рд┐рд╕реНрдЯрдо "рд╢реЗрдбреНрдпреВрд▓рд░" рджреНрд╡рд╛рд░рд╛ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛, рдЬрд┐рд╕рдХрд╛ рдХрд╛рдо рдкреНрд░рддреНрдпреЗрдХ рдереНрд░реЗрдб рдХреЛ рдкреНрд░реЛрд╕реЗрд╕рд░ рд╕рдордп рдХрд╛ рдЕрдкрдирд╛ рд╣рд┐рд╕реНрд╕рд╛ рджреЗрдирд╛ рд╣реИ, рдФрд░ рд╕рд╛рде рд╣реА рдХрд┐рд╕реА рдХреЛ рднреА рд╡рдВрдЪрд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реИред рд╡рд╣ рдЬреИрд╕рд╛ рдХрд░реНрдо рдХрд░рддрд╛ рд╣реИред рдЬрдм рдПрдХ рдереНрд░реЗрдб рдиреЗ рдереЛрдбрд╝рд╛ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рд╢реЗрдбреНрдпреВрд▓рд░ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рдЕрд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рдЗрд╕ рдереНрд░реЗрдб рдХреЛ рд░реЛрдХрддрд╛ рд╣реИ, рдФрд░ рдЕрдЧрд▓реЗ рдзрд╛рдЧреЗ рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП "рд╕рд╛рдЗрдЯ рддреИрдпрд╛рд░ рдХрд░рддрд╛ рд╣реИ" (рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрддрд╛рд░ рдореЗрдВ рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реИ)ред

рдЗрд╕ "рд╕рд╛рдЗрдЯ рдХреА рддреИрдпрд╛рд░реА" рдХреЛ "рд╕рдВрджрд░реНрдн рд╕реНрд╡рд┐рдЪрд┐рдВрдЧ" рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдореЗрдВ рд░реБрдХреА рд╣реБрдИ рд╕реНрдЯреНрд░реАрдо рдХреЗ "рд╕рдВрджрд░реНрдн" рдХреЛ рд╕рд╣реЗрдЬрдирд╛, рдФрд░ рдЙрд╕ рд╕реНрдЯреНрд░реАрдо рдХреЗ рд╕рдВрджрд░реНрдн рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ рдЬрд┐рд╕реЗ рдЕрдЧрд▓реЗ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред "рд╕рдВрджрд░реНрдн" рдореЗрдВ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╣реА рдкреНрд░реЛрд╕реЗрд╕рд░ рд░рдЬрд┐рд╕реНрдЯрд░реНрд╕ рдФрд░ рдкреНрд░реЛрд╕реЗрд╕ рдбреЗрдЯрд╛ (рдЖрдИрдбреА рдХреА рдПрд╣рдирд┐рдХреА, рдПрдХреНрд╕реЗрд╕ рд░рд╛рдЗрдЯреНрд╕, рд░рд┐рд╕реЛрд░реНрд╕реЗрдЬ рдФрд░ рд▓реЙрдХреНрд╕, рдЖрд╡рдВрдЯрд┐рдд рдореЗрдореЛрд░реА рдЖрджрд┐) рд╢рд╛рдорд┐рд▓ рд╣реИрдВред

рд╢реЗрдбреНрдпреВрд▓рд░ рдХрд┐рддрдиреА рдмрд╛рд░ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рдпрд╣ рддрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рддрдХ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд▓рд┐рдирдХреНрд╕ рдореЗрдВ, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдЕрдиреБрд╕реВрдЪрдХ рд╕реЗрдХрдВрдб рдХреЗ рд╕реМрд╡реЗрдВ рднрд╛рдЧ рдореЗрдВ рдХрд╣реАрдВ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред рд╢реЗрдбреНрдпреВрд▓рд░ рдХреЛ рддрдм рднреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ "рд╕реНрд▓реАрдк рдлрд╝рдВрдХреНрд╢рди" (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдиреАрдВрдж рд╕рдорд╛рд░реЛрд╣ рджреНрд╡рд╛рд░рд╛) рдпрд╛ "рд╕рд┐рдВрдХреНрд░реЛрдирд╕" рдФрд░ "рдмреНрд▓реЙрдХрд┐рдВрдЧ" рдХреА рдкреНрд░рддреНрдпрд╛рд╢рд╛ рдореЗрдВ рд╣реЛрддреА рд╣реИ (рдЕрд░реНрдерд╛рдд, рд╕рдмрд╕реЗ рд╕рд░рд▓ рдФрд░ рд╕рдмрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп) I / O (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, PHP рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрд░реЛрдз рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдбреЗрдЯрд╛ рдЙрд╕реЗ рдорд╛рд╕рд┐рдХ рдмрд┐рдХреНрд░реА рд░рд┐рдкреЛрд░реНрдЯ рджреЗрдЧрд╛)ред

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

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

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

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

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

рд▓рд┐рдирдХреНрд╕ рдкрд░, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реНрдЯреИрдХ рдХрд╛ рдЖрдХрд╛рд░ 8 рдореЗрдЧрд╛рдмрд╛рдЗрдЯ рд╣реИ , рдФрд░ "рдореЗрдореЛрд░реА рдкреЗрдЬ" рдХрд╛ рдЖрдХрд╛рд░ 4 рдХрд┐рд▓реЛрдмрд╛рдЗрдЯ рд╣реИ ("рд╕реНрдЯреИрдХ" рдХреЗ рд▓рд┐рдП рдПрдХ рдпрд╛ рджреЛ "рдореЗрдореЛрд░реА рдкреЗрдЬ" рддреБрд░рдВрдд рдЖрд╡рдВрдЯрд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ)ред рдПрдХ рд╕рд╛рде рд▓реЙрдиреНрдЪ рдХрд┐рдП рдЧрдП 10,000 рдереНрд░реЗрдбреНрд╕ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ, рд╣рдореЗрдВ рд▓рдЧрднрдЧ 80 рдореЗрдЧрд╛рдмрд╛рдЗрдЯ "рд╡рд╛рд╕реНрддрд╡рд┐рдХ" рд░реИрдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдпрд╣ рдереЛрдбрд╝рд╛ рд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ, рдФрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЪрд┐рдВрддрд╛ рдХрд╛ рдХреЛрдИ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдореЗрдореЛрд░реА рдХрд╛ рдЖрдХрд╛рд░ рдУ (рдПрди) рдХреЗ рд░реВрдк рдореЗрдВ рдмрдврд╝рддрд╛ рд╣реИ, рдЬреЛ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рд▓реЛрдб рдореЗрдВ рдФрд░ рд╡реГрджреНрдзрд┐ рдХреЗ рд╕рд╛рде, "рд╕реНрдХреЗрд▓реЗрдмрд┐рд▓рд┐рдЯреА" рдХреЗ рд╕рд╛рде рдХрдард┐рдирд╛рдЗрдпрд╛рдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ: рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдХрд▓ рдЖрдкрдХреА рд╕рд╛рдЗрдЯ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рд╕рд╛рде 100,000 рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рд╕реЗрд╡рд╛ рдХрд░реЗрдЧреА, рдФрд░ 100 рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА 000 рдПрдХ рд╕рд╛рде рдХрдиреЗрдХреНрд╢рди? рдФрд░ рдкрд░рд╕реЛрдВ - 1,000,000? рдФрд░ рдХрд▓ рдХреЗ рдмрд╛рдж рдХреЗ рджрд┐рди - рдпрд╣ рдЕрднреА рднреА рдЕрдЬреНрдЮрд╛рдд рд╣реИ рдХрд┐ рдХрд┐рддрдирд╛ ...

рд╕рд┐рдВрдЧрд▓-рдереНрд░реЗрдбреЗрдб рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд░реНрд╡рд░реЛрдВ рдореЗрдВ рдпрд╣ рдЦрд╛рдореА рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рдФрд░ рдПрдХ рд╕рд╛рде рдХрдиреЗрдХреНрд╢рди рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХреЗ рд╕рд╛рде рдирдИ рдореЗрдореЛрд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ (рдЗрд╕реЗ рдУ (1) рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ)ред Apache Web Server рдФрд░ NginX рдХреЗ рдореЗрдореЛрд░реА рдЙрдкрдпреЛрдЧ рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЗрд╕ рдЧреНрд░рд╛рдл рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ :

рдЫрд╡рд┐

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

рдпрджрд┐ рд╣рдо рд╕рд┐рд╕реНрдЯрдо рдереНрд░реЗрдбреНрд╕ рдХреЗ рдРрд╕реЗ "рдкреВрд▓" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рд╣рдо рдХреЗрд╡рд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреА рд╕реЗрд╡рд╛ рдХрд░ рдкрд╛рдПрдВрдЧреЗ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ "рдкреВрд▓" рдореЗрдВ рдХрд┐рддрдиреЗ рдереНрд░реЗрдб рд╣реЛрдВрдЧреЗ, рдЕрд░реНрдерд╛рддреН 10,000 рдирд╣реАрдВред

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

рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдШрдЯрдирд╛ рдореЙрдбрд▓


рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдЗрд╕ рд╡рд░реНрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдИ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред рдФрд░ рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдмрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, "рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдШрдЯрдирд╛ рдореЙрдбрд▓" рд╕рд╛рдордиреЗ рдЖрдпрд╛ред рдпрд╣ "рдШрдЯрдирд╛ рдЪрдХреНрд░" рдФрд░ рдЯреЗрдореНрдкрд▓реЗрдЯ "рд░рд┐рдПрдХреНрдЯрд░" (рд╢рдмреНрдж "рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛" рд╕реЗ - рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП) рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред

рдПрдХ "рдИрд╡реЗрдВрдЯ рд▓реВрдк" рдПрдХ рдЕрдВрддрд╣реАрди рд▓реВрдк рд╣реИ рдЬреЛ рдЙрдирдореЗрдВ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ "рдИрд╡реЗрдВрдЯ" рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП "рдШрдЯрдирд╛рдУрдВ рдХреЗ рд╕реНрд░реЛрдд" (рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░) рдХрд╛ рд╕рд░реНрд╡реЗрдХреНрд╖рдг рдХрд░рддрд╛ рд╣реИред рдорддрджрд╛рди "рд╕рд┐рдВрдХреНрд░реЛрдирд╕" I / O рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ, "рдЧреИрд░-рдЕрд╡рд░реЛрдзрдХ" рд╣реЛрдЧрд╛ (O_NONBLOCK рдзреНрд╡рдЬ рд╕рд┐рд╕реНрдЯрдо I / O рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред

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

рдиреЗрдЯрд╡рд░реНрдХ рд╕реЙрдХреЗрдЯ ("рд╕реЙрдХреЗрдЯ" - рд╢рд╛рдмреНрджрд┐рдХ рд░реВрдк рд╕реЗ, "рдХрдиреЗрдХреНрд╢рди рдХрд╛ рд╕реНрдерд╛рди"), рдпрд╛ рд╣рд╛рд░реНрдб рдбрд┐рд╕реНрдХ рд╕реЗ рдбреЗрдЯрд╛ рдХреЗ рдирдП рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рдкрдврд╝рдиреЗ рдкрд░ рдПрдХ "рдШрдЯрдирд╛" рдХрд╛ рдЖрдЧрдорди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ: рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ, рдХреЛрдИ рдЗрдирдкреБрдЯ / рдЖрдЙрдЯрдкреБрдЯред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рдЖрдк рдХрд┐рд╕реА рдЪрд┐рддреНрд░ рдХреЛ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдкрд░ рдЕрдкрд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдбреЗрдЯрд╛ рдЯреБрдХрдбрд╝реЛрдВ рдореЗрдВ рдЖрддрд╛ рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рдмрд╛рд░ рдШрдЯрдирд╛ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рддреЗ рд╣реБрдП "рдЫрд╡рд┐ рдбреЗрдЯрд╛ рдХрд╛ рдПрдХ рдирдпрд╛ рднрд╛рдЧ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред"

рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, "рдШрдЯрдирд╛рдУрдВ рдХрд╛ рд╕реНрд░реЛрдд" рдмрд╣реБрдд рд╣реА рдЯреАрд╕реАрдкреА рд╕реЙрдХреЗрдЯ рдХрд╛ "рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░" (рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░реАрдо рдХрд╛ рд╕реВрдЪрдХ) рд╣реЛрдЧрд╛ рдЬрд┐рд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрдк рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рд╛рдЗрдЯ рд╕реЗ рдЬреБрдбрд╝реЗред

рдирдП рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХрд╛ рджреВрд╕рд░рд╛ рдШрдЯрдХ, рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рд╣реА рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд░рд┐рдПрдХреНрдЯрд░ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╣реИред рдФрд░, рдПрдХ рд░реВрд╕реА рдХреЗ рд▓рд┐рдП, рдпрд╣ рдкрд░рдорд╛рдгреБ рдКрд░реНрдЬрд╛ рд╕рдВрдпрдВрддреНрд░ рдореЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рднреА рд░рд┐рдПрдХреНрдЯрд░ рдирд╣реАрдВ рд╣реИред рдЗрд╕ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рд╕рд╛рд░ рдпрд╣ рд╣реИ рдХрд┐ рд╕рд░реНрд╡рд░ рдХреЛрдб рдПрдХ рдмрдбрд╝реЗ рдЯреБрдХрдбрд╝реЗ рдореЗрдВ рдирд╣реАрдВ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЫреЛрдЯреЗ рдЦрдВрдбреЛрдВ рдореЗрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЛ ("рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛") рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдЗрд╕рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝реА рдХреЛрдИ рдШрдЯрдирд╛ рд╣реЛрддреА рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдХреЛрдб рдХрдИ рдмреНрд▓реЙрдХреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдХрд╛рд░реНрдп рдХреБрдЫ рдШрдЯрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП "рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛" рдХрд░рдирд╛ рд╣реИред

рдпрд╣ рдирдИ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ Node.js. рдХреЗ рдЖрдЧрдорди рдХреЗ рдмрд╛рдж рдореБрдЦреНрдпрдзрд╛рд░рд╛ рдмрди рдЧрдИред Node.js рдХреЛ C ++ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ , рдФрд░ рдЗрд╕рдХреЗ рдЗрд╡реЗрдВрдЯ рд▓реВрдк рдХреЛ libev C # рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдпрд╣рд╛рдБ рдПрдХ рдЪреБрдиреА рд╣реБрдИ рднрд╛рд╖рд╛ рдирд╣реАрдВ рд╣реИ: рдпрджрд┐ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреА рднрд╛рд╖рд╛ рдореЗрдВ "рдиреЙрди-рдмреНрд▓реЙрдХрд┐рдВрдЧ" I / O рд╣реИ, рддреЛ рдЖрдк рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди "рдлреНрд░реЗрдорд╡рд░реНрдХ" рднреА рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ: рдкрд╛рдпрдерди рдореЗрдВ рдЯреНрд╡рд┐рд╕реНрдЯреЗрдб рдФрд░ рдЯреЛрд░реНрдиреЗрдбреЛ рд╣реИ , рдкрд░реНрд▓ рдореЗрдВ рдкрд░реНрд▓ рдкрд░реНрдпрд╛рд╡рд░рдг рд╣реИ , рд░реВрдмреА рд╣реИ EventMachine (рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрд╛рдВрдЪ рд╕рд╛рд▓ рдкреБрд░рд╛рдирд╛ рд╣реИ)ред рдЗрди "рдлреНрд░реЗрдорд╡рд░реНрдХ" рдкрд░ рдЖрдк Node.js. рдХреЗ рд╕рдорд╛рди рдЕрдкрдирд╛ рд╕рд░реНрд╡рд░ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрд╛рд╡рд╛ рдХреЗ рд▓рд┐рдП (java.nio рдкрд░ рдЖрдзрд╛рд░рд┐рдд) рдиреЗрдЯреНрдЯреА рдФрд░ MINA рд▓рд┐рдЦреЗ рдЧрдП рд╣реИрдВ, рдФрд░ рд░реВрдмреА (EventMachine рдкрд░ рдЖрдзрд╛рд░рд┐рдд) рдХреЗ рд▓рд┐рдП - рдЧреЛрд▓рд┐рдпрдд (рдЬреЛ рдХрд┐ рдлрд╛рдЗрдмрд░ рдХрд╛ рд▓рд╛рдн рднреА рдЙрдард╛рддрд╛ рд╣реИ)ред

рдлрд╛рдпрджреЗ рдФрд░ рдиреБрдХрд╕рд╛рди


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

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

рдЗрд╕рд▓рд┐рдП, Node.js рдЬреИрд╕реЗ рд╕рд░реНрд╡рд░ рдХреЗрд╡рд▓ рдЙрди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИрдВ рдЬреЛ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛ рд▓реЛрдб рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдпрд╛ рдПрдХ рднрд╛рд░реА рдмреИрдХрдПрдВрдб рдХреЗ рд▓рд┐рдП рдПрдХ рдлреНрд░рдВрдЯреЗрдВрдб рдХреЗ рд░реВрдк рдореЗрдВ ред рдФрд░ рд╡реЗ "рдзреАрдореА" рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд░ рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдЙрдкрдпреБрдХреНрдд рд╣реИрдВ (рд╕рдВрдХреАрд░реНрдг рд╕рдВрдЪрд╛рд░ рдЪреИрдирд▓, рдзреАрдореА рдЧрддрд┐ рд╕реЗ рд╡рд╛рдкрд╕реА / рдбреЗрдЯрд╛ рднреЗрдЬрдирд╛, рд▓рдВрдмреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдордп рдЕрдВрджрд░ рдХрд╣реАрдВ, ...)ред рдореИрдВ рдПрдХ "рдЗрдирдкреБрдЯ-рдЖрдЙрдЯрдкреБрдЯ" рдордзреНрдпрд╕реНрде рдХреА рдЬрдЧрд╣ Node.js рдЬреИрд╕реЗ рд╕рд░реНрд╡рд░ рджреЗрддрд╛ рд╣реВрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "рдХреНрд▓рд╛рдЗрдВрдЯ" рдФрд░ "рд╕рд░реНрд╡рд░" рдХреЗ рдмреАрдЪ рдХрд╛ рдордзреНрдпрд╕реНрде: рд╕рдВрдкреВрд░реНрдг рджреГрд╢реНрдп рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдЗрдВрдЯрд░рдиреЗрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рд╕реАрдзреЗ рдмрдирд╛рдпрд╛ рдФрд░ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛ рд╕рд░реНрд╡рд░ рдкрд░ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ Node.js рдордзреНрдпрд╕реНрде рдХрд╛ рдХрд╛рд░реНрдп рдХрд░рддреЗ рд╣реИрдВ, "рдХреНрд▓рд╛рдЗрдВрдЯ" рдЕрдиреБрд░реЛрдз рдкрд░ рдЖрд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛ рджреЗрддреЗ рд╣реИрдВред , рдФрд░ рдЬрдм рдпрд╣ "рдХреНрд▓рд╛рдЗрдВрдЯ" рд╕реЗ рдЖрддрд╛ рд╣реИ, рддреЛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рдирдпрд╛ рдбреЗрдЯрд╛ рд▓рд┐рдЦрдирд╛ред

рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ "рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдЗрд╡реЗрдВрдЯ рдореЙрдбрд▓" рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕рд░реНрд╡рд░ рдПрдХ рд╣реА рд╕рд┐рд╕реНрдЯрдо рдереНрд░реЗрдб рдореЗрдВ рдЪрд▓ рд░рд╣реЗ рд╣реИрдВ, рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рджреЛ рдФрд░ рдмрд╛рдзрд╛рдПрдВ рдЙрдард╛рддреЗ рд╣реИрдВред рдкрд╣рд▓рд╛ рд╣реИ рдореЗрдореЛрд░реА рд▓реАрдХред рдпрджрд┐ рдЕрдкрд╛рдЪреЗ рдкреНрд░рддреНрдпреЗрдХ рдирдП рдЕрдиреБрд░реЛрдз рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд┐рд╕реНрдЯрдо рдереНрд░реЗрдб рдмрдирд╛рддрд╛ рд╣реИ, рддреЛ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдПрдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рднреЗрдЬрдиреЗ рдХреЗ рдмрд╛рдж, рдпрд╣ рд╕рд┐рд╕реНрдЯрдо рдереНрд░реЗрдб рдХреЛ рд╕реНрд╡рдпрдВ рдирд╖реНрдЯ рдХрд░ рджреЗрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрд╡рдВрдЯрд┐рдд рд╕рднреА рдореЗрдореЛрд░реА рдХреЛ рдмрд╕ рдореБрдХреНрдд рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХрд╣рддреЗ рд╣реИрдВ, Node.js, рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдЕрдЧрд▓реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрд░реЛрдз рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддреЗ рд╕рдордп рдХрд┐рд╕реА рднреА рдирд┐рд╢рд╛рди рдХреЛ рди рдЫреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рд╡рдзрд╛рди рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдП (рд░реИрдо рд╕реЗ рд╕рднреА рд╕рдмреВрддреЛрдВ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рдЕрдиреБрд░реЛрдз рд╕рднреА рдкрд░ рдкрд╣реБрдВрдЪреЗ), рдЕрдиреНрдпрдерд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рдЦрд╛ рдЬрд╛рдПрдЧреАред рдкреНрд░рддреНрдпреЗрдХ рдирдП рдЕрдиреБрд░реЛрдз рдХреЗ рд╕рд╛рде рд╕реНрдореГрддрд┐ред рджреВрд╕рд░рд╛ рд╣реИ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд╛ рдПрд░рд░ рд╣реИрдВрдбрд▓рд┐рдВрдЧред рдпрджрд┐, рдлрд┐рд░ рд╕реЗ, рдирд┐рдпрдорд┐рдд рдЕрдкрд╛рдЪреЗ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдЕрдиреБрд░реЛрдз рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рд╕рд┐рд╕реНрдЯрдо рдереНрд░реЗрдб рдмрдирд╛рддрд╛ рд╣реИ, рдФрд░ PHP рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХреЛрдб рдХрд┐рд╕реА рддрд░рд╣ рдХрд╛ "рдЕрдкрд╡рд╛рдж" рдлреЗрдВрдХрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╕рд┐рд╕реНрдЯрдо рдереНрд░реЗрдб рдХреЗрд╡рд▓ рдЪреБрдкрдЪрд╛рдк "рдорд░" рдЬрд╛рдПрдЧрд╛, рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ "500" рдЬреИрд╕рд╛ рдПрдХ рдкреГрд╖реНрда рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧрд╛ред рдЖрдВрддрд░рд┐рдХ рд╕рд░реНрд╡рд░ рддреНрд░реБрдЯрд┐ред "рдЙрд╕реА Node.js рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдПрдХ рд╣реА рдЕрдиреБрд░реЛрдз рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддреЗ рд╕рдордп рд╣реБрдИ рдПрдХрдорд╛рддреНрд░ рддреНрд░реБрдЯрд┐ рдкреВрд░реЗ рд╕рд░реНрд╡рд░ рдХреЛ "рдбрд╛рд▓" рджреЗрдЧреА, рдпрд╣реА рд╡рдЬрд╣ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдореЙрдирд┐рдЯрд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдирд╛ рд╣реЛрдЧрд╛ ред

"рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдШрдЯрдирд╛ рдореЙрдбрд▓" рдХрд╛ рдПрдХ рдФрд░ рд╕рдВрднрд╛рд╡рд┐рдд рджреЛрд╖ рдпрд╣ рд╣реИ рдХрд┐ рдХрднреА-рдХрднреА (рд╣рдореЗрд╢рд╛ рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ, рдЦрд╛рд╕рдХрд░ рддрдм рдЬрдм "рдЕрднрд┐рдкреНрд░реЗрдд рдШрдЯрдирд╛ рдореЙрдбрд▓" рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрд╕ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ) "рдХреЙрд▓рдмреИрдХ" рдХреЗ рдЕрдВрддрдГрд╡рд┐рд╖рдп рдХреЗ рдХрд╛рд░рдг рдЖрд╡реЗрджрди рдХреЛрдб рдХреЛ рд╕рдордЭрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред ред рдЗрд╕реЗ "рд╕реНрдкреЗрдЧреЗрдЯреА рдХреЛрдб" рд╕рдорд╕реНрдпрд╛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ , рдФрд░ рдЗрд╕реЗ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: "рдХреЙрд▓рдмреИрдХ рдкрд░ рдХреЙрд▓рдмреИрдХ, рдХреЙрд▓рдмреИрдХ рдХрд╛ рдкреАрдЫрд╛ред" рдХрд┐ рдХреЛрд╢рд┐рд╢ рдХреЗ рд╕рд╛рде рд▓рдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдФрд░, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд▓рд┐рдЦрд╛ Node.js'a рдХреЗ рд▓рд┐рдП Seq ред

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

Node.js'a рдХреЗ рд▓рд┐рдП рдпрд╣ рдПрдХ рдРрд╕реА рд╣реА рдкреБрд╕реНрддрдХрд╛рд▓рдп рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ рдиреЛрдб рдлрд╛рдЗрдмрд░ ред рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ (рдХреГрддреНрд░рд┐рдо рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ, рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдореЗрдВ рдирд╣реАрдВ), рдиреЛрдб-рдлрд╛рдЗрдмрд░ рдЕрднреА рднреА "рдХреЙрд▓рдмреИрдХ" рдХреЗ рд╕рд╛рде рд╕рд╛рдорд╛рдиреНрдп рд╢реИрд▓реА рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд▓рдЧрднрдЧ рддреАрди рд╕реЗ рдЪрд╛рд░ рдЧреБрдирд╛ рдзреАрдореА рдЧрддрд┐ рд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ ред рдкреБрд╕реНрддрдХрд╛рд▓рдп рд▓реЗрдЦрдХрдпрд╣ рддрд░реНрдХ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкреНрд░рджрд░реНрд╢рди рдЕрдВрддрд░ рд╡рд╣рд╛рдБ рд╣реЛрддрд╛ рд╣реИ рдЬрд╣рд╛рдБ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ V8 рдЗрдВрдЬрди рдХреЗ C ++ рдЗрдВрдЬрди рдХреЛрдб (рдЬреЛ рдХрд┐ Node.js рд╕реНрд╡рдпрдВ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ) рдХреЗ рд╕рд╛рде рдлрд┐рдЯ рдмреИрдарддрд╛ рд╣реИ , рдФрд░ рдЙрд╕ рдкреНрд░рджрд░реНрд╢рди рдорд╛рдк рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ "рдиреЛрдб-рдлрд╛рдЗрдмрд░реНрд╕ рдХреЙрд▓рдмреИрдХ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рддреАрди рд╕реЗ рдЪрд╛рд░ рдЧреБрдирд╛ рдзреАрдореА" рдХреЗ рд░реВрдк рдореЗрдВ рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред рд▓реЗрдХрд┐рди "рдЖрдкрдХреЗ рдХреЛрдб рдореЗрдВ рдЕрдиреНрдп рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдХрд╛рд░реНрдпреЛрдВ (рдмрд╛рдЗрдЯ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛, рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рдпрд╛ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдХрд┐рд╕реА рд╕реЗрд╡рд╛ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ) рдХреА рддреБрд▓рдирд╛ рдореЗрдВ, рдиреЛрдб-рдлрд╝рд╛рдЗрдмрд░ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдкрджрдЪрд┐рд╣реНрди рдмрд┐рд▓реНрдХреБрд▓ рднреА рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реЛрдЧрд╛"ред

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

рдЗрд╕ рд▓реЗрдЦ рдХрд╛ рдореБрдЦреНрдп рднрд╛рдЧ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЕрдВрдд рдореЗрдВ рд╣рдо рд╡реИрдХрд▓реНрдкрд┐рдХ рдорд╛рд░реНрдЧ рдкрд░ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ, рдФрд░ рдирдП рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП "рдЗрд╡реЗрдВрдЯ рдЪрдХреНрд░" рдХреИрд╕реЗ "рдШрдЯрдирд╛рдУрдВ рдХреЗ рд╕реНрд░реЛрдд" рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред

рд╡реИрдХрд▓реНрдкрд┐рдХ рддрд░реАрдХрд╛ рд╣реИ


рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдордиреЗ рдмрддрд╛рдпрд╛ рдХрд┐ рдХреНрдпреЛрдВ "рд╕рд┐рдВрдХреНрд░реЛрдирд╕" рдФрд░ "рдмреНрд▓реЙрдХрд┐рдВрдЧ" I / O рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдПрдХ рд╕рд╛рде рдХрдиреЗрдХреНрд╢рди рдХрд╛ рд╕рд╛рдордирд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рд╕рдорд╛рдзрд╛рди рдХреЗ рдПрдХ рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдордиреЗ рдЗрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ "рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдШрдЯрдирд╛ рдореЙрдбрд▓" рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рджрд┐рдпрд╛ (рдЬреЛ рдХрд┐, Node.js рдкрд░, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛, рдХрд╣рдирд╛)ред рдЗрд╕ рддрд░рд╣, рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ (рдкрд░реНрджреЗ рдХреЗ рдкреАрдЫреЗ) "рддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ" рдФрд░ "рдЕрд╡рд░реБрджреНрдз" I / O рд╕реЗ "рддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ" рдФрд░ "рдЧреИрд░-рдЕрд╡рд░реБрджреНрдз" I / O рд╕реЗ рд╕реНрд╡рд┐рдЪ рдХрд░рдХреЗ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░реЗрдВрдЧреЗред рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХрдорд╛рддреНрд░ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ: рд╣рдо "рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕" I / O рдХрд╛ рднреА рд╕рд╣рд╛рд░рд╛ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВред

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

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

рдкреНрд░рддреНрдпреЗрдХ "рдСрдмреНрдЬреЗрдХреНрдЯ" рдореЗрдВ "рд╕рдВрджреЗрд╢реЛрдВ" рдХреА рдмрд╛рд░реА рд╣реИ (рдЗрд╕рдХреЗ рд▓рд┐рдП "рдЧреНрд░реАрди рдкреНрд░реЛрд╕реЗрд╕" рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред рдФрд░ "рдСрдмреНрдЬреЗрдХреНрдЯ" рдХреЗ рдХреЛрдб рдкрд░ рдХреЛрдИ рднреА рдХреЙрд▓ рдЙрд╕рдХреЗ рд▓рд┐рдП рдПрдХ "рд╕рдВрджреЗрд╢" рднреЗрдЬрдирд╛ рд╣реИред рдПрдХ "рдСрдмреНрдЬреЗрдХреНрдЯ" рд╕реЗ рджреВрд╕рд░реЗ "рдСрдмреНрдЬреЗрдХреНрдЯ" рдореЗрдВ "рд╕рдВрджреЗрд╢" рднреЗрдЬрдирд╛ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд░реВрдк рд╕реЗ рд╣реЛрддрд╛ рд╣реИред

рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдЕрдкрдирд╛ I / O рд╕рдмрд╕рд┐рд╕реНрдЯрдо рдмрдирд╛рддрд╛ рд╣реИ, рдЬреЛ рдиреЙрди-рдмреНрд▓реЙрдХрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо I / O рдореЗрдВ рдореИрдк рдХрд░рддрд╛ рд╣реИ (рдФрд░ рдлрд┐рд░ рд╕реЗ, рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдХреБрдЫ рднреА рд╕рдВрджреЗрд╣ рдирд╣реАрдВ рд╣реИ)ред

рдФрд░, рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИ, рдЖрднрд╛рд╕реА рдорд╢реАрди рдореЗрдВ рдЕрдкрдирд╛ рдЖрдВрддрд░рд┐рдХ рдЕрдиреБрд╕реВрдЪрдХ рднреА рд╣реЛрддрд╛ рд╣реИред

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

рдирдП рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП "рдИрд╡реЗрдВрдЯ рдЪрдХреНрд░" рдХреИрд╕реЗ "рдШрдЯрдирд╛рдУрдВ рдХреЗ рд╕реНрд░реЛрдд" рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ


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

рдЪреВрдВрдХрд┐ рдкреНрд░реЛрд╕реЗрд╕рд░ рд╕реЗ рдбреЗрдЯрд╛ рдХреА рдбрд┐рд▓реАрд╡рд░реА рд░реИрдо рд╕реЗ рд╣реЛрддреА рд╣реИ, рдФрд░ рдкреНрд░реЛрд╕реЗрд╕рд░ рд╕реЗ рдбреЗрдЯрд╛ рдХреЛ рд░реИрдо рдореЗрдВ рднреЗрдЬрдиреЗ рд╕реЗ рдлрд╛рд╕реНрдЯ рдСрдкрд░реЗрд╢рдВрд╕ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ, рдРрд╕реЗ рдРрд░реЗ рдХреЛ рдЖрдЧреЗ-рдкреАрдЫреЗ рдХреЙрдкреА рдХрд░рдирд╛ рд╕рд┐рд╕реНрдЯрдо рдкрд░рдлреЙрд░реНрдореЗрдВрд╕ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ (рдкреНрд░реЛрд╕реЗрд╕рд░ рдмреЗрдХрд╛рд░ рд╣реИ рдЬрдмрдХрд┐ рд╕рд┐рд╕реНрдЯрдо рдмрд╕ рдХрд╛ рдбреЗрдЯрд╛ рд░реИрдо рдореЗрдВ рдЪрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рд╕реЗ рдЖрддреЗ рд╣)ред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдмрд╣реБрдордд ( рд▓рдЧрднрдЧ 95%)) рдкрд░рд┐рдгрд╛рдореА рд╕рд░рдгреА (рд▓рдЧрднрдЧ 10,000 рдЦреБрд▓реА рд╕реЙрдХреЗрдЯ рдХреЗ рд▓рд┐рдП) рдмреЗрдХрд╛рд░ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╕рдВрдмрдВрдзрд┐рдд рд╕реЙрдХреЗрдЯ рдореЗрдВ рдирдпрд╛ рдбреЗрдЯрд╛ рдирд╣реАрдВ рд╣реИред

рдФрд░ рдЬрдм рд╕реЗ рдЗрд╕ рд╕рд░рдгреА рдХрд╛ рдЖрдХрд╛рд░ рд╡рд░реНрдгрдирдХрд░реНрддрд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдЕрдиреБрдкрд╛рдд рдореЗрдВ рдмрдврд╝рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдзреАрдореА рдЧрддрд┐ рд╕реЗ рдЕрдзрд┐рдХ рдЬреЗрдм рдЦреЛрд▓рдиреЗ рдХрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрд╣реА рд╣реИ, рдЖрдкрдХреА рд╕рд╛рдЗрдЯ рдкрд░ рдЬрд┐рддрдиреЗ рдЕрдзрд┐рдХ рдЖрдЧрдВрддреБрдХ рдЖрддреЗ рд╣реИрдВ, рдЙрддрдирд╛ рд╣реА "рдШрдЯрдирд╛ рдЪрдХреНрд░" рдзреАрдорд╛ рд╣реЛрдиреЗ рд▓рдЧрддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╡реЗ рдХрд╣рддреЗ рд╣реИрдВ: "рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдореЗрдВ рдЬрдЯрд┐рд▓рддрд╛ рдУ (рдПрди) рд╣реИред"

рдХреНрдпрд╛ рдЕрдзрд┐рдХ рдЗрд╖реНрдЯрддрдо рдПрд▓реНрдЧреЛрд░рд┐рджрдо рд▓рд┐рдЦрдирд╛ рд╕рдВрднрд╡ рд╣реИ? рдпрд╣ рд╕рдВрднрд╡ рд╣реИ, рдФрд░ рдРрд╕реЗ рдореБрдЦреНрдп рд╕рд░реНрд╡рд░ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рдереЗ: рд▓рд┐рдирдХреНрд╕ рдореЗрдВ рдПрдкреЛрд▓ рдФрд░ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдореЗрдВ рдХреЗрдХреНрдпреВ ред рд╡рд┐рдВрдбреЛрдЬ рдореЗрдВ IO рдХрдореНрдкреНрд▓реАрдЯреЗрд╢рди рдкреЛрд░реНрдЯреНрд╕ рднреА рд╣реИрдВ , рдЬреЛ рдХрд┐ рдПрдкреЛрд▓ рдХреЗ рдПрдХ рддрд░рд╣ рдХреЗ рдХрд░реАрдмреА рд░рд┐рд╢реНрддреЗрджрд╛рд░ рд╣реИрдВрдЗрд╕реЗ рд╡рд┐рдВрдбреЛрдЬ рдХреЛ рдкреЛрд░реНрдЯ рдХрд░рддреЗ рд╕рдордп Node.js рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ , рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЙрдиреНрд╣реЛрдВрдиреЗ рд▓рд┐рдмреНрдпреВ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд▓рд┐рдЦреА рдереА , рдЬреЛ рд▓рд┐рдмреЗрд╡ рдФрд░ рдЖрдИрдУ рдХрдореНрдкреНрд▓реАрд╢рди рдкреЛрд░реНрдЯреНрд╕ рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдХрд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИред

рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ epoll ред рдпрд╣ рджреЛрдиреЛрдВ рддрд░рдл рдХреЗ рд╕рд╛рдзрд╛рд░рдг рдорддрджрд╛рди рд╕реЗ рдЕрд▓рдЧ рд╣реИ ред

рдФрд░ рдпрджрд┐ рд╡рд┐рд╡рд░рдгрдХрд░реНрддрд╛рдУрдВ рдХреА рд╕рд╛рдорд╛рдиреНрдп рдЧрдгрдирд╛ рдореЗрдВ O (n) рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ, рддреЛ рдЗрди рдЕрдиреБрдХреВрд▓рд┐рдд рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ O (1) рд╕рдордп рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЕрд░реНрдерд╛рдд, рд╡реЗ рд╕рд╛рдЗрдЯ рдкрд░ рдПрдХ рд╕рд╛рде рдЖрдиреЗ рд╡рд╛рд▓реЗ рдЖрдЧрдВрддреБрдХреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХреЗ рд╕рд╛рде рдзреАрдореЗ рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред

рдЬрд┐рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдиреЗ рд▓реЗрдЦ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рднрд╛рдЧ рд▓рд┐рдпрд╛


: рд▓реЗрдЦ рдЕрд░реНрде рдкрд░рд┐рд╡рд░реНрддрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рд╕реБрдЭрд╛рдП рд╢рд╛рдорд┐рд▓ akzhan , erlyvideo , eyeofhell , MagaSoft , Mox , nuit , Olegich , reddot , splav_asv , tanenn , рдлреЗрдВрдХрдиреЗ рдпреЛрдЧреНрдп рдХреА ред
рд╕рд╛рде рд╣реА рд╕рд╛рде рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рджреЗрдЦреЗ рдЧрдП рд╡рд╛рдХреНрдп-рд╡рд┐рдиреНрдпрд╛рд╕ рдФрд░ рд╢реИрд▓реАрдЧрдд рдкрд░рд┐рд╡рд░реНрддрди: рдЧреЛрдбрд░ , @ рд╕реЗрд▓реЗрдмреНрд░рд┐рдЯреАред

рд╕рдВрдмрдВрдзрд┐рдд рд▓рд┐рдВрдХ


рдЖрдк рдордЬрд╛рдХ рдХрд░ рд░рд╣реЗ рд╣реЛрдВрдЧреЗ, рдорд┐рд╕реНрдЯрд░ рдбрд╛рд╣рд▓, рдпрд╛ рдХреНрдпреЛрдВ Node.js рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХрд╛ рддрд╛рдЬ рд╣реИред
EventMachine
рд╕реНрдХреЗрд▓реЗрдмрд▓ рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ Kqueue рдХрд╛ рдкрд░рд┐рдЪрдп ред

рд╕реНрдЯреИрдХрд▓реЗрд╕ рдкрд╛рдпрдерди рдФрд░ рд╕рд╣рдорддрд┐
/ ( , )
node-sync тАФ - nodejs fibers

What every programmer should know about memory
10 things every Linux programmer should know
Video: Node.js by Ryan Dahl
No Callbacks, No Threads & Ruby 1.9

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


All Articles