ãŠãŒã¶ãŒã¯ç²ããç¥ããã«ãäºãã«ã¡ãã»ãŒãžãæžããŸãã
ããã¯ããªãå€ãã§ãã ãã¹ãŠã®ãŠãŒã¶ãŒã®ãã¹ãŠã®ã¡ãã»ãŒãžãèªã¿åãããšãããšã150 äžå¹Žä»¥äžããããŸãã ãã ããããªããããªãäžçŽã®èªè
ã§ãããåã¡ãã»ãŒãžã« XNUMX ç§ãè²»ãããªãå Žåã«éããŸãã
ãã®ãããªå€§éã®ããŒã¿ã§ã¯ãããŒã¿ãä¿åããã³ã¢ã¯ã»ã¹ããããã®ããžãã¯ãæé©ã«æ§ç¯ããããšãéèŠã§ãã ããããªããšãããã»ã©çŽ æŽããããšã¯èšããªãç¬éã«ãããã«ãã¹ãŠãããŸããããªããªãããšãæããã«ãªãå¯èœæ§ããããŸãã
ç§ãã¡ã«ãšã£ãŠããã®ç¬éã¯XNUMX幎ååã«ãã£ãŠæ¥ãŸããã ç§ãã¡ãã©ã®ããã«ããŠããã«è³ã£ãã®ãããããŠæçµçã«äœãèµ·ãã£ãã®ããé çªã«èª¬æããŸãã
ç æŽ
éåžžã«æåã®å®è£ ã§ã¯ãVKontakte ã¡ãã»ãŒãžã¯ PHP ããã¯ãšã³ããš MySQL ã®çµã¿åããã§åäœããŸããã ããã¯ãå°èŠæš¡ãªåŠçã® Web ãµã€ãã§ã¯ãŸã£ããéåžžã®ãœãªã¥ãŒã·ã§ã³ã§ãã ãããããã®ãµã€ãã¯å¶åŸ¡äžèœã«æé·ãããµã€ãèªäœã®ããŒã¿æ§é ã®æé©åãå¿ èŠã«ãªãå§ããŸããã
2009 幎æ«ã«ãæåã®ããã¹ã ãšã³ãžã³ ãªããžããªãäœæããã2010 幎ã«ã¡ãã»ãŒãžãããã«è»¢éãããŸããã
ããã¹ã ãšã³ãžã³ã§ã¯ãã¡ãã»ãŒãžã¯ãªã¹ã (äžçš®ã®ãã¡ãŒã«ããã¯ã¹ã) ã«ä¿åãããŠããŸããã ãã®ãããªåãªã¹ãã¯ãuid (ããããã¹ãŠã®ã¡ãã»ãŒãžãææãããŠãŒã¶ãŒ) ã«ãã£ãŠæ±ºå®ãããŸãã ã¡ãã»ãŒãžã«ã¯ã察話è
èå¥åãããã¹ããæ·»ä»ãã¡ã€ã«ãªã©ã®äžé£ã®å±æ§ããããŸãã ãããã¯ã¹ãå
ã®ã¡ãã»ãŒãžèå¥å㯠local_id ã§ãããå€æŽãããããšã¯ãªããæ°ããã¡ãã»ãŒãžã«é çªã«å²ãåœãŠãããŸãã ãããã¯ã¹ãã¯ç¬ç«ããŠããããšã³ãžã³å
ã§ã¯çžäºã«åæããããããã¯ã¹éã®é信㯠PHP ã¬ãã«ã§è¡ãããŸãã ããã¹ããšã³ãžã³ã®ããŒã¿æ§é ãšæ©èœãå
éšããèŠãããšãã§ããŸã
XNUMX 人ã®ãŠãŒã¶ãŒéã®éä¿¡ã«ã¯ããã§ååã§ããã 次ã«äœãèµ·ãã£ããšæããŸããïŒ
2011 幎 XNUMX æãVKontakte ã¯è€æ°ã®åå è ãšã®äŒè©±ãã€ãŸããã«ã ãã£ãããå°å ¥ããŸããã 圌ããšååããããã«ãç§ãã¡ã¯ã¡ã³ããŒãã£ãããšãã£ããã¡ã³ããŒãšãã XNUMX ã€ã®æ°ããã¯ã©ã¹ã¿ãŒãç«ã¡äžããŸããã XNUMX ã€ç®ã¯ãŠãŒã¶ãŒã«ãããã£ããã«é¢ããããŒã¿ãä¿åããXNUMX ã€ç®ã¯ãã£ããã«ãããŠãŒã¶ãŒã«é¢ããããŒã¿ãä¿åããŸãã ããã«ã¯ããªã¹ãèªäœã«å ããŠãããšãã°ãæåŸ ããŠãããŠãŒã¶ãŒãšãã®ãŠãŒã¶ãŒããã£ããã«è¿œå ãããæéãå«ãŸããŸãã
ãPHPããã£ããã«ã¡ãã»ãŒãžãéä¿¡ããŸãããããšãŠãŒã¶ãŒã¯èšããŸãã
ãããã{username}ããš PHP ãèšããŸãã
ãã®èšç»ã«ã¯æ¬ ç¹ããããŸãã åæã¯äŸç¶ãšã㊠PHP ã®è²¬ä»»ã§ãã 倧èŠæš¡ãªãã£ãããšãåæã«ã¡ãã»ãŒãžãéä¿¡ãããŠãŒã¶ãŒã¯å±éºãªè©±ã§ãã ããã¹ã ãšã³ãžã³ã®ã€ã³ã¹ã¿ã³ã¹ã¯ uid ã«äŸåããããããã£ããåå è
ã¯ç°ãªãæéã«åãã¡ãã»ãŒãžãåä¿¡ããå¯èœæ§ããããŸãã é²æ©ãåæ»ããŠãããšããŠããããã«èããããšã¯ã§ããŸãã ãããããããªããšã¯èµ·ãããªãã§ãããã
2015 幎æ«ã«ã³ãã¥ãã㣠ã¡ãã»ãŒãžãéå§ãã2016 幎ã®åãã«ã³ãã¥ãã㣠ã¡ãã»ãŒãžçšã® API ãéå§ããŸããã ã³ãã¥ããã£ã«å€§èŠæš¡ãªãã£ããããããç»å Žããããšã§ãåçãªè² è·åæ£ãå¿ããŠããŸãå¯èœæ§ããããŸããã
åªããããã㯠XNUMX æ¥ã«æ°çŸäžã®ã¡ãã»ãŒãžãçæããŸãããããã¯æããããã¹ããªãŠãŒã¶ãŒã§ãèªæ ¢ã§ããŸããã ããã¯ããã®ãããªããããååšããããã¹ã ãšã³ãžã³ã®äžéšã®ã€ã³ã¹ã¿ã³ã¹ãæ倧éã®è¢«å®³ãåãå§ããããšãæå³ããŸãã
2016 幎ã®ã¡ãã»ãŒãž ãšã³ãžã³ã¯ããã£ãã ã¡ã³ããŒãšã¡ã³ã㌠ãã£ããã®ã€ã³ã¹ã¿ã³ã¹ã 100 åãããã¹ã ãšã³ãžã³ã 8000 åã§ãã ããã㯠64 GB ã®ã¡ã¢ãªãæèŒãã 32 å°ã®ãµãŒããŒã§ãã¹ããããŠããŸããã æåã®ç·æ¥æªçœ®ãšããŠãã¡ã¢ãªãããã« XNUMX GB å¢èšããŸããã äºæž¬ãè©Šç®ããŸããã å€§å¹ ãªå€æŽããªããã°ãããã§ãã XNUMX 幎ãããã¯ååã§ãããã ããŒããŠã§ã¢ãå ¥æããããããŒã¿ããŒã¹èªäœãæé©åããå¿ èŠããããŸãã
ã¢ãŒããã¯ãã£ã®æ§è³ªäžãããŒããŠã§ã¢ãè€æ°å°ã«å¢ããããšã ããåççã§ãã ã€ãŸããè»ã®å°æ°ãå°ãªããšã XNUMX åã«ãããšããããšã§ããæããã«ãããã¯ããªãè²»çšã®ãããæ¹æ³ã§ãã æé©åããŠãããŸãã
æ°ããæŠå¿µ
æ°ããã¢ãããŒãã®äžå¿ãšãªãã®ã¯ãã£ããã§ãã ãã£ããã«ã¯ãããã«é¢é£ããã¡ãã»ãŒãžã®ãªã¹ãããããŸãã ãŠãŒã¶ãŒã¯ãã£ããã®ãªã¹ããæã£ãŠããŸãã
å°ãªããšã XNUMX ã€ã®æ°ããããŒã¿ããŒã¹ãå¿ èŠã§ãã
- ãã£ãããšã³ãžã³ã ããã¯ãã£ãã ãã¯ã¿ãŒã®ãªããžããªã§ãã åãã£ããã«ã¯ãããã«é¢é£ããã¡ãã»ãŒãžã®ãã¯ãã«ããããŸãã åã¡ãã»ãŒãžã«ã¯ããã¹ããšãã£ããå ã®äžæã®ã¡ãã»ãŒãžèå¥å (chat_local_id) ãå«ãŸããŸãã
- ãŠãŒã¶ãŒãšã³ãžã³ã ããã¯ãŠãŒã¶ãŒ ãã¯ãã«ãã€ãŸããŠãŒã¶ãŒãžã®ãªã³ã¯ã®ã¹ãã¬ãŒãžã§ãã åãŠãŒã¶ãŒã¯ãpeer_id ã®ãã¯ãã« (察話è - ä»ã®ãŠãŒã¶ãŒããã«ããã£ããããŸãã¯ã³ãã¥ããã£) ãšã¡ãã»ãŒãžã®ãã¯ãã«ãæã¡ãŸãã åpeer_idã«ã¯ãããã«é¢é£ããã¡ãã»ãŒãžã®ãã¯ãã«ããããŸãã åã¡ãã»ãŒãžã«ã¯ãchat_local_id ãšããã®ãŠãŒã¶ãŒã®äžæã®ã¡ãã»ãŒãž ID (user_local_id) ããããŸãã
æ°ããã¯ã©ã¹ã¿ãŒã¯ TCP ã䜿çšããŠçžäºã«éä¿¡ããŸããããã«ããããªã¯ãšã¹ãã®é åºãå€ãããªããªããŸãã ãªã¯ãšã¹ãèªäœãšãã®ç¢ºèªã¯ããŒã ãã©ã€ãã«èšé²ãããããããšã³ãžã³ã®é害ãŸãã¯åèµ·åã®åŸã§ãã€ã§ããã¥ãŒã®ç¶æ
ã埩å
ã§ããŸãã ãŠãŒã¶ãŒ ãšã³ãžã³ãšãã£ãã ãšã³ãžã³ã¯ãããã 4 ã·ã£ãŒãã§ãããããã¯ã©ã¹ã¿ãŒéã®ãªã¯ãšã¹ã ãã¥ãŒã¯åçã«åæ£ãããŸã (ãã ããå®éã«ã¯ãŸã£ããåæ£ããããéåžžã«é«éã«åäœããŸã)ã
ã»ãšãã©ã®å ŽåãããŒã¿ããŒã¹å
ã®ãã£ã¹ã¯ã®æäœã¯ãå€æŽã®ãã€ã㪠ãã° (binlog)ãéçã¹ãããã·ã§ãããã¡ã¢ãªå
ã®éšåã€ã¡ãŒãžã®çµã¿åããã«åºã¥ããŠããŸãã æ¥äžã®å€æŽã¯ãã€ããªãã°ã«æžã蟌ãŸããçŸåšã®ç¶æ
ã®ã¹ãããã·ã§ãããå®æçã«äœæãããŸãã ã¹ãããã·ã§ããã¯ãç®çã«åãããŠæé©åãããããŒã¿æ§é ã®ã³ã¬ã¯ã·ã§ã³ã§ãã ããã¯ãããã㌠(ç»åã®ã¡ã¿ã€ã³ããã¯ã¹) ãšäžé£ã®ã¡ã¿ãã¡ã€ã«ã§æ§æãããŸãã ããããŒã¯ RAM ã«æ°žç¶çã«ä¿åãããã¹ãããã·ã§ããããããŒã¿ãæ€çŽ¢ããå Žæã瀺ããŸãã åã¡ã¿ãã¡ã€ã«ã«ã¯ãè¿ãæç¹ã§å¿
èŠã«ãªãå¯èœæ§ãé«ãããŒã¿ (ããšãã°ãXNUMX 人ã®ãŠãŒã¶ãŒã«é¢é£ããããŒã¿) ãå«ãŸããŠããŸãã ã¹ãããã·ã§ãã ããããŒã䜿çšããŠããŒã¿ããŒã¹ã«ã¯ãšãªãå®è¡ãããšãå¿
èŠãªã¡ã¿ãã¡ã€ã«ãèªã¿åãããã¹ãããã·ã§ããã®äœæåŸã«çºçãããã€ããªãã°ã®å€æŽãèæ
®ãããŸãã ãã®ã¢ãããŒãã®å©ç¹ã«ã€ããŠè©³ããã¯ããã¡ããã芧ãã ããã
åæã«ãããŒããã©ã€ãèªäœã®ããŒã¿ã¯ XNUMX æ¥ã« XNUMX åã ãå€æŽãããŸããè² è·ãæå°éã§ããã¢ã¹ã¯ã¯ã®æ·±å€ã«å€æŽãããŸãã ãã®ããã㧠(ãã£ã¹ã¯äžã®æ§é ã XNUMX æ¥ãéããŠäžå®ã§ããããšãããã£ãŠãããã)ããã¯ãã«ãåºå®ãµã€ãºã®é åã«çœ®ãæããäœè£ããããããã«ããã¡ã¢ãªãå¢å ããŸãã
æ°ããã¹ããŒã ã§ã®ã¡ãã»ãŒãžã®éä¿¡ã¯æ¬¡ã®ããã«ãªããŸãã
- PHP ããã¯ãšã³ãã¯ãã¡ãã»ãŒãžéä¿¡ãªã¯ãšã¹ãã§ãŠãŒã¶ãŒ ãšã³ãžã³ã«æ¥ç¶ããŸãã
- user-engine ã¯ãèŠæ±ãç®çã®ãã£ãã ãšã³ãžã³ ã€ã³ã¹ã¿ã³ã¹ã«ãããã·ãããã®ã€ã³ã¹ã¿ã³ã¹ã¯ user-engine chat_local_id (ãã®ãã£ããå ã®æ°ããã¡ãã»ãŒãžã®äžæã®èå¥å) ã«æ»ããŸãã 次ã«ããã£ãã ãšã³ãžã³ã¯ãã£ããå ã®ãã¹ãŠã®åä¿¡è ã«ã¡ãã»ãŒãžããããŒããã£ã¹ãããŸãã
- user-engine ã¯ããã£ãã ãšã³ãžã³ãã chat_local_id ãåãåãããã®ãŠãŒã¶ãŒã®äžæã®ã¡ãã»ãŒãžèå¥åã§ãã user_local_id ã PHP ã«è¿ããŸãã ãã®èå¥åã¯ãããšãã° API çµç±ã§ã¡ãã»ãŒãžãæäœããããã«äœ¿çšãããŸãã
ãã ããå®éã«ã¡ãã»ãŒãžãéä¿¡ããããšã«å ããŠãããã«éèŠãªããšãããã€ãå®è£
ããå¿
èŠããããŸãã
- ãµããªã¹ãã¯ãããšãã°ãäŒè©±ãªã¹ããéãããšãã«è¡šç€ºãããææ°ã®ã¡ãã»ãŒãžã§ãã æªèªã¡ãã»ãŒãžãã¿ã°ä»ãã¡ãã»ãŒãžïŒãéèŠãããã¹ãã ããªã©ïŒã
- ãã£ãããšã³ãžã³ã§ã®ã¡ãã»ãŒãžã®å§çž®
- ãŠãŒã¶ãŒãšã³ãžã³ã§ã®ã¡ãã»ãŒãžã®ãã£ãã·ã¥
- (ãã¹ãŠã®ãã€ã¢ãã°ãšç¹å®ã®ãã€ã¢ãã°å ã§) æ€çŽ¢ããŸãã
- ãªã¢ã«ã¿ã€ã æŽæ° (ãã³ã°ããŒãªã³ã°)ã
- å±¥æŽãä¿åããŠã¢ãã€ã« ã¯ã©ã€ã¢ã³ãã«ãã£ãã·ã¥ãå®è£ ããŸãã
ãã¹ãŠã®ãµããªã¹ãã®æ§é ã¯æ¥éã«å€åããŠããŸãã 圌ããšååããããã«ç§ãã¡ã¯äœ¿çšããŸã
ã¡ãã»ãŒãžã«ã¯å€§éã®æ
å ± (ã»ãšãã©ãããã¹ã) ãå«ãŸãããããå§çž®ã§ãããšäŸ¿å©ã§ãã ããšã XNUMX ã€ã®åå¥ã®ã¡ãã»ãŒãžã§ãã£ãŠãæ£ç¢ºã«ã¢ãŒã«ã€ãã解é€ã§ããããšãéèŠã§ãã ã¡ãã»ãŒãžãå§çž®ããããã«äœ¿çšãããŸã
ãŠãŒã¶ãŒã®æ°ããã£ããããã¯ããã«å°ãªãããããã£ãã ãšã³ãžã³ã§ã©ã³ãã ã¢ã¯ã»ã¹ ãã£ã¹ã¯ ãªã¯ãšã¹ããä¿åããããã«ãã¡ãã»ãŒãžããŠãŒã¶ãŒ ãšã³ãžã³ã«ãã£ãã·ã¥ããŸãã
ã¡ãã»ãŒãžæ€çŽ¢ã¯ããŠãŒã¶ãŒ ãšã³ãžã³ãããã®ãŠãŒã¶ãŒã®ãã£ãããå«ããã¹ãŠã®ãã£ãã ãšã³ãžã³ ã€ã³ã¹ã¿ã³ã¹ãžã®å¯Ÿè§ã¯ãšãªãšããŠå®è£ ãããŸãã çµæã¯ãŠãŒã¶ãŒ ãšã³ãžã³èªäœã§çµåãããŸãã
ãã¹ãŠã®è©³çŽ°ãèæ ®ãããŸãããæ®ã£ãŠããã®ã¯ãæ°ããã¹ããŒã ã«åãæ¿ããããšã ãã§ããã§ããã°ãŠãŒã¶ãŒã«æ°ä»ãããã«ã
ããŒã¿ç§»è¡
ãããã£ãŠããŠãŒã¶ãŒããšã«ã¡ãã»ãŒãžãä¿åããããã¹ã ãšã³ãžã³ãšããã«ã ãã£ãã ã«ãŒã ãšãã®äžã®ãŠãŒã¶ãŒã«é¢ããããŒã¿ãä¿åãã XNUMX ã€ã®ã¯ã©ã¹ã¿ãŒ ãã£ãã ã¡ã³ããŒãšã¡ã³ã㌠ãã£ããããããŸãã ããããæ°ãããŠãŒã¶ãŒ ãšã³ãžã³ãšãã£ãã ãšã³ãžã³ã«ç§»è¡ããã«ã¯ã©ãããã°ããã§ãããã?
å€ãã¹ããŒã ã®ã¡ã³ããŒãã£ããã¯äž»ã«æé©åã®ããã«äœ¿çšãããŠããŸããã å¿ èŠãªããŒã¿ãããã«ãã£ãã ã¡ã³ããŒã«è»¢éãããšããã移è¡ããã»ã¹ã«ã¯åå ããªããªããŸããã
ãã£ããã¡ã³ããŒã®ãã¥ãŒã ããã«ã¯ 100 ã®ã€ã³ã¹ã¿ã³ã¹ãå«ãŸããŠããŸããããã£ãã ãšã³ãžã³ã«ã¯ 4 ã®ã€ã³ã¹ã¿ã³ã¹ããããŸãã ããŒã¿ã転éããã«ã¯ãããŒã¿ãæºæ ãããå¿
èŠããããŸãããã®ããã«ããã£ãã ã¡ã³ããŒã¯åã 4 ã®ã³ããŒã«åå²ããããã£ãã ãšã³ãžã³ã§ãã£ãã ã¡ã³ããŒã®ãã€ããªãã°ã®èªã¿åããæå¹ã«ãªããŸããã
çŸåšããã£ãã ãšã³ãžã³ã¯ãã£ãã ã¡ã³ããŒããã®ãã«ããã£ããã«ã€ããŠã¯èªèããŠããŸãããXNUMX 人ã®å¯Ÿè©±è
ãšã®å¯Ÿè©±ã«ã€ããŠã¯ãŸã äœãèªèããŠããŸããã ãã®ãããªãã€ã¢ãã°ã¯ããŠãŒã¶ãŒãåç
§ããŠããã¹ã ãšã³ãžã³å
ã«é
眮ãããŸãã ããã§ã¯ãããŒã¿ããæ£é¢ãããååŸããŸãããåãã£ãã ãšã³ãžã³ ã€ã³ã¹ã¿ã³ã¹ã¯ãå¿
èŠãªãã€ã¢ãã°ããããã©ããããã¹ãŠã®ããã¹ã ãšã³ãžã³ ã€ã³ã¹ã¿ã³ã¹ã«å°ããŸããã
çŽ æŽããã - ãã£ãã ãšã³ãžã³ã¯ãã©ã®ãããªãã«ããã£ãã ãã£ãããããã®ãââãã©ã®ãããªå¯Ÿè©±ãããã®ãââãèªèããŠããŸãã
æçµçã«åãã£ããã®ã¡ãã»ãŒãžã®ãªã¹ããåŸãããããã«ããã«ããã£ãã ãã£ããå
ã®ã¡ãã»ãŒãžãçµåããå¿
èŠããããŸãã ãŸãããã£ãã ãšã³ãžã³ã¯ããã®ãã£ãããããã¹ãŠã®ãŠãŒã¶ãŒ ã¡ãã»ãŒãžãããã¹ã ãšã³ãžã³ããååŸããŸãã å Žåã«ãã£ãŠã¯ãéåžžã«å€ãã®ã¡ãã»ãŒãž (æ倧æ°å) ãååšããŸãããéåžžã«ãŸããªäŸå€ãé€ããŠããã£ããã¯å®å
šã« RAM ã«åãŸããŸãã é åºä»ããããŠããªãã¡ãã»ãŒãžãããããããããè€æ°ã®ã³ããŒã«åãããŠããŸããçµå±ã®ãšããããããã¯ãã¹ãŠããŠãŒã¶ãŒã«å¯Ÿå¿ããããŸããŸãªããã¹ã ãšã³ãžã³ ã€ã³ã¹ã¿ã³ã¹ããååŸããããã®ã§ãã ç®æšã¯ãã¡ãã»ãŒãžãåé¡ããäžå¿
èŠãªã¹ããŒã¹ãå ããã³ããŒãåé€ããããšã§ãã
åã¡ãã»ãŒãžã«ã¯ãéä¿¡æå»ãšããã¹ããå«ãã¿ã€ã ã¹ã¿ã³ããä»ããŠããŸãã ãœãŒãã«ã¯æéã䜿çšããŸãããã«ããã£ããåå è ã®æãå€ãã¡ãã»ãŒãžãžã®ãã€ã³ã¿ãŒãé 眮ããç®çã®ã³ããŒã®ããã¹ãã®ããã·ã¥ãæ¯èŒããŠãã¿ã€ã ã¹ã¿ã³ããå¢ããæ¹åã«é²ã¿ãŸãã ã³ããŒã®ããã·ã¥ãšã¿ã€ã ã¹ã¿ã³ããåãã«ãªãã®ã¯è«ççã§ãããå®éã«ã¯å¿ ããããããšã¯éããŸããã èŠããŠãããšãããå€ãã¹ããŒã ã§ã¯åæ㯠PHP ã«ãã£ãŠå®è¡ãããŠããŸãããããŸãã«ãåãã¡ãã»ãŒãžã®éä¿¡æéãç°ãªããŠãŒã¶ãŒéã§ç°ãªãããšããããŸããã ãã®ãããªå Žåãé垞㯠XNUMX ç§ä»¥å ã«ã¿ã€ã ã¹ã¿ã³ããç·šéã§ããããã«ããŸããã XNUMX çªç®ã®åé¡ã¯ãåä¿¡è ããšã«ã¡ãã»ãŒãžã®é åºãç°ãªãããšã§ãã ãã®ãããªå ŽåããŠãŒã¶ãŒããšã«ç°ãªã泚æãªãã·ã§ã³ãåããè¿œå ã®ã³ããŒãäœæã§ããããã«ããŸããã
ãã®åŸããã«ããã£ããã®ã¡ãã»ãŒãžã«é¢ããããŒã¿ããŠãŒã¶ãŒ ãšã³ãžã³ã«éä¿¡ãããŸãã ãããŠãã€ã³ããŒããããã¡ãã»ãŒãžã«ã¯äžå¿«ãªç¹åŸŽããããŸãã éåžžã®åäœã§ã¯ããšã³ãžã³ã«éä¿¡ãããã¡ãã»ãŒãžã¯ãå³å¯ã« user_local_id ã®æé ã§äžŠã¹ãããŸãã å€ããšã³ãžã³ãããŠãŒã¶ãŒ ãšã³ãžã³ã«ã€ã³ããŒããããã¡ãã»ãŒãžã¯ããã®äŸ¿å©ãªç¹æ§ã倱ããŸããã åæã«ããã¹ãã®äŸ¿å®ã®ããã«ããããã«çŽ æ©ãã¢ã¯ã»ã¹ãããã®äžã§äœããæ¢ããæ°ãããã®ãè¿œå ã§ããå¿ èŠããããŸãã
ã€ã³ããŒããããã¡ãã»ãŒãžãä¿åããããã«ç¹å¥ãªããŒã¿æ§é ã䜿çšããŸãã
ãµã€ãºã®ãã¯ãã«ãè¡šããŸã ã¿ããªã¯ã©ãã§ãã - ã¯ç°ãªããèŠçŽ ã®ç¹å¥ãªé åºã§éé ã«äžŠã¹ãããŸãã åã»ã°ã¡ã³ãã«ã€ã³ããã¯ã¹ãä»ããŠãã èŠçŽ ããœãŒããããŸãã ãã®ãããªæ§é å ã®èŠçŽ ã®æ€çŽ¢ã«ã¯æéãããããŸã ã¹ã«ãŒ äºåæ¢çŽ¢ã èŠçŽ ã®è¿œå ã¯æ¬¡ã®æéã§ååŽãããŸãã .
ããã§ãå€ããšã³ãžã³ããæ°ãããšã³ãžã³ã«ããŒã¿ã転éããæ¹æ³ãèãåºããŸããã ãããããã®ããã»ã¹ã«ã¯æ°æ¥ããããŸãããããŠããã®éã«ãŠãŒã¶ãŒããäºãã«æçŽãæžãç¿æ £ããããå¯èœæ§ã¯äœãã§ãã ãã®éã«ã¡ãã»ãŒãžã倱ãããªãããã«ãæ°æ§äž¡æ¹ã®ã¯ã©ã¹ã¿ãŒã䜿çšããäœæ¥ã¹ããŒã ã«åãæ¿ããŸãã
ããŒã¿ã¯ãã£ãã ã¡ã³ããŒãšãŠãŒã¶ãŒ ãšã³ãžã³ã«æžã蟌ãŸããŸã (å€ãã¹ããŒã ã«ããéåžžã®æäœãšã¯ç°ãªããããã¹ã ãšã³ãžã³ã«ã¯æžã蟌ãŸããŸãã)ã user-engine ã¯ãªã¯ãšã¹ãã chat-engine ã«ãããã·ããŸããããã§ã®åäœã¯ããã®ãã£ããããã§ã«ããŒãžãããŠãããã©ããã«ãã£ãŠç°ãªããŸãã ãã£ããããŸã ããŒãžãããŠããªãå Žåããã£ãã ãšã³ãžã³ã¯ã¡ãã»ãŒãžãããèªäœã«æžã蟌ãŸãããã®åŠçã¯ããã¹ã ãšã³ãžã³å
ã§ã®ã¿è¡ãããŸãã ãã£ããããã§ã«ãã£ãã ãšã³ãžã³ã«ããŒãžãããŠããå Žåã¯ãchat_local_id ããŠãŒã¶ãŒ ãšã³ãžã³ã«è¿ãããã¡ãã»ãŒãžããã¹ãŠã®åä¿¡è
ã«éä¿¡ãããŸãã user-engine ã¯ãã¹ãŠã®ããŒã¿ã text-engine ã«ãããã·ããŸãããã®ãããäœããèµ·ãã£ãå Žåã¯ãã€ã§ãããŒã«ããã¯ããŠãçŸåšã®ããŒã¿ããã¹ãŠå€ããšã³ãžã³ã«ä¿æã§ããŸãã text-engine 㯠user_local_id ãè¿ããuser_engine ã¯ãããä¿åããŠããã¯ãšã³ãã«è¿ããŸãã
ãã®çµæã移è¡ããã»ã¹ã¯æ¬¡ã®ããã«ãªããŸãã空ã®ãŠãŒã¶ãŒ ãšã³ãžã³ ã¯ã©ã¹ã¿ãŒãšãã£ãã ãšã³ãžã³ ã¯ã©ã¹ã¿ãŒãæ¥ç¶ããŸãã ãã£ãã ãšã³ãžã³ã¯ãã£ãã ã¡ã³ããŒã®ãã€ããªãã°å
šäœãèªã¿åããäžèšã®ã¹ããŒã ã«åŸã£ãŠãããã·ãéå§ããŸãã å€ãããŒã¿ã転éããXNUMX ã€ã®åæãããã¯ã©ã¹ã¿ãŒ (æ°æ§) ãååŸããŸãã æ®ã£ãŠããã®ã¯ãèªã¿åããããã¹ã ãšã³ãžã³ãããŠãŒã¶ãŒ ãšã³ãžã³ã«åãæ¿ãããããã·ãç¡å¹ã«ããããšã ãã§ãã
çµæ
æ°ããã¢ãããŒãã®ãããã§ããšã³ãžã³ã®ãã¹ãŠã®ããã©ãŒãã³ã¹ææšãæ¹åãããããŒã¿ã®äžè²«æ§ã«é¢ããåé¡ã解決ãããŸããã ã¡ãã»ãŒãžã«æ°ããæ©èœãããã«å®è£ ã§ããããã«ãªããŸãã (ãããŠãã§ã«å®è£ ãå§ããŠããŸã - ãã£ããåå è ã®æ倧æ°ãå¢ããã転éãããã¡ãã»ãŒãžã®æ€çŽ¢ãå®è£ ããåºå®ã¡ãã»ãŒãžãéå§ãããŠãŒã¶ãŒããšã®ã¡ãã»ãŒãžã®åèšæ°ã®å¶éãåŒãäžããŸãã) ã
ããžãã¯ã®å€æŽã¯æ¬åœã«èšå€§ã§ãã ãããŠãããã¯å¿
ãããã倧èŠæš¡ãªããŒã ãšç¡æ°ã®ã³ãŒãè¡ã«ããäœå¹Žãã®éçºãæå³ããããã§ã¯ãªãããšã«æ³šæããããšæããŸãã ãã£ãã ãšã³ãžã³ãšãŠãŒã¶ãŒ ãšã³ãžã³ã«å ããŠãã¡ãã»ãŒãžå§çž®ã®ããã®ãããã³ãã¹ãã¬ã€ ããªãŒãã€ã³ããŒããããã¡ãã»ãŒãžã®æ§é ãªã©ã®ãã¹ãŠã®è¿œå ã¹ããŒãªãŒãå«ããã³ãŒã㯠20 äžè¡æªæºã§ãã ãããŠãããã㯠3 人ã®éçºè
ã«ãã£ãŠããã 10 ãæã§æžãããŸãã (ãã ãã次ã®ããšã«çæããå¿
èŠããããŸã)
ããã«ããµãŒããŒã®æ°ã 500 åã«ãã代ããã«ããã®æ°ãååã«æžãããŸãããçŸåšããŠãŒã¶ãŒ ãšã³ãžã³ãšãã£ãã ãšã³ãžã³ã¯ 5 å°ã®ç©çãã·ã³äžã§çšŒåããŠããŸãããæ°ããã¹ããŒã ã«ã¯è² è·ã«å¯ŸããŠå€§ããªäœè£ããããŸãã èšåã«ãããè²»çšãå€§å¹ ã«ç¯çŽã§ããŸããã幎éçŽ 750 äžãã« + éå¶è²» XNUMX äžãã«ãç¯çŽã§ããŸããã
ç§ãã¡ã¯ãæãè€éã§å€§èŠæš¡ãªåé¡ã«å¯ŸããŠæé©ãªãœãªã¥ãŒã·ã§ã³ãèŠã€ããããåªããŠããŸãã ç§ãã¡ã«ã¯ããããã®äººæãããŸããã ãããããããŒã¿ããŒã¹éšéã§æèœãªéçºè
ãæ¢ããŠããŸãã ãã®ãããªåé¡ã奜ãã§è§£æ±ºæ¹æ³ãç¥ã£ãŠãããã¢ã«ãŽãªãºã ãšããŒã¿æ§é ã«é¢ããåªããç¥èããæã¡ã®æ¹ã¯ããã²ããŒã ã«åå ããŠãã ããã ãåãåãããã ãã
ãã®è©±ãããªãã«é¢ãããã®ã§ã¯ãªãå Žåã§ããç§ãã¡ã¯æšå¥šäºé
ãéèŠããŠããããšã«æ³šæããŠãã ããã åéã«æããŠãã ãã
åºæïŒ habr.com