рдХрд╛рдЙрдВрдЯ рд╕рд░реНрд╡рд░ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ

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



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



рдЗрд╕рд▓рд┐рдП, рдЬрдм рдореБрдЭреЗ рдПрдХ рд╕рдорд╛рди рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреА рдереА, рддреЛ рдореБрдЭреЗ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рддрд▓рд╛рд╢ рдХрд░рдиреА рдереАред



рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдЖрдк рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЦрд╛рддреЗ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ:

- рдХреБрдЫ рдХреБрдВрдЬреА рджреНрд╡рд╛рд░рд╛ рд╕рдВрдХреНрд░рдордг рдпреВрдЖрд░рдПрд▓ рдХреЛ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ

- рд▓реЙрдЧ рдпрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдбреЗрдЯрд╛ рд▓рд┐рдЦреЗрдВ



рдФрджреНрдпреЛрдЧрд┐рдХ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рдЦреЛрдЬрдирд╛ рджреЛ рд╡рд┐рдХрд▓реНрдк рдереЗ:

- рдирдВрдЧреЗрдХреНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдореЙрдбреНрдпреВрд▓ рд▓рд┐рдЦреЗрдВ;

- рдЕрдкрдирд╛ рд╕рдорд╛рдзрд╛рди рдмрдирд╛рдПрдВ;



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



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



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



рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рд╕реНрдЯреЗрд╕реНрдЯреЛрд░реЗрдЬ рдФрд░ рдЖрдЙрдЯрд╕реНрдЯреЛрд░реЗрдЬ рдЗрдВрдЬрди рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╣реА рдЗрдВрдЯрд░рдлрд╝реЗрд╕ IStorage.cpp рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ (рднрдВрдбрд╛рд░рдг) рд╣реИред



InStorage рдХреЗ рд░реВрдк рдореЗрдВ, рдореЗрдореНрдХреИрдЪреНрдбрдм рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реЛрддрд╛ рд╣реИ: рдХреБрдВрдЬреА / рдкрддрд╛

рд╕рдВрдХреНрд░рдордгред

OutStorage MongoDb рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рд▓реЙрдЧ рдХреЛ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдлреЙрд░реНрдо рдХрд╛ access.log рдмрдирд╛рдП рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИ:

2010/10/08 11:38:30 127.0.0.1 GET /xxx?12345 404

2010/10/08 11:38:30 127.0.0.1 GET /leads?12345 200







рдЖрдк IStorage рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рд╕реА рднреА рдбреЗрдЯрд╛ рд╡реЗрдпрд░рд╣рд╛рдЙрд╕ рдХреЗ рд▓рд┐рдП рдПрдХреНрд╕рдЯреЗрдВрд╢рди (рдореЙрдбреНрдпреВрд▓) рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЖрдкрдХреЛ IStorage * inStorage = reinterpret_cast<IStorage *>(new inputMcStorage);

IStorage * outStorage = reinterpret_cast<IStorage *>(new outputMongoStorage);





рдореЗрдВ рд▓рд╛рдЗрдиреЗрдВ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ IStorage * inStorage = reinterpret_cast<IStorage *>(new inputMcStorage);

IStorage * outStorage = reinterpret_cast<IStorage *>(new outputMongoStorage);





IStorage * inStorage = reinterpret_cast<IStorage *>(new inputMcStorage);

IStorage * outStorage = reinterpret_cast<IStorage *>(new outputMongoStorage);





рдЕрдкрдиреА рдХрдХреНрд╖рд╛ рдореЗрдВ рдФрд░ рд╕рд░реНрд╡рд░ рдХрд╛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВред



404 рддреНрд░реБрдЯрд┐ рдкрд░, рдЖрдк рд╕рдВрдХреНрд░рдордг рдкрддрд╛ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд┐рдиреНрдпрд╛рд╕ рджреЗрдЦреЗрдВред



рдХреНрд▓рд┐рдХ-рд╕рд░реНрд╡рд░ рдкрд░ рдореЗрд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ, рдбреЗрдЯрд╛ nginx рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдиреБрдорд╛рдирд┐рдд рд╣реИред



рдореИрдВ рдпрд╣ рдиреЛрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдХрдордЬреЛрд░ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкрд░ рд╕рд░реНрд╡рд░ 1200rpq рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдХрд╛рдлреА рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рд▓рдЧрднрдЧ рдХреЛрдИ рджреЗрд░реА (1-3 рдПрдордПрд╕)ред рднрд╕реНрдо рдореЗрдореЛрд░реА 600K рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдЕрд▓рдЧ рд╕реЗ рдЖрд╡рдВрдЯрд┐рдд рд▓реЛрд╣реЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред



рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рд╕рдорд╛рдзрд╛рди рди рдХреЗрд╡рд▓ рдореЗрд░реЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред



All Articles