ááťá˝ááşáŻááşáááŻáˇááĄááŻáśá¸ááźáŻáá°ááťáŹá¸áááş áááşáááşá¸áá˝ááşá¸áááşáážáŻááᯠááááᲠáĄááťááşá¸ááťááşá¸ááśáááŻáˇ á
áŹáááŻááťáŹá¸ááąá¸ááźáááşá

ááąáŹáşááąáŹáşááťáŹá¸áááşá áĄááŻáśá¸ááźáŻáá°áĄáŹá¸ááŻáśá¸á áááşááąáˇááťáşáĄáŹá¸ááŻáśá¸ááᯠáááşáááş áááşááŻáśá¸ááźááşááŤáá áááşá¸áááş áážá
áş 150 ááťáąáŹáşááźáŹáááşááźá
áşáááşá áááşáááş áĄáá˝ááşáĄáááˇáşááźááˇáşááąáŹ á
áŹáááşáá°áá
áşáŚá¸ááźá
áşááźáŽá¸ áááşááąáˇááťáşáá
áşááŻá
áŽáĄáá˝ááş áá
áşá
áášáááˇáşáááş ááááŻá
áąáááŤá
áááŻáá˛áˇáááŻáˇááąáŹ ááąááŹáááŹáááźááˇáşá áááşá¸ááᯠááááşá¸áááşá¸ááźááşá¸áážááˇáş ááá°ááźááşá¸áĄáá˝ááş ááŻáášááááąáááᯠáĄááąáŹááşá¸ááŻáśá¸áááşááąáŹááşáááş áĄááąá¸ááźáŽá¸ááŤáááşá ááŽáááŻáážáááŻááşáááş áĄáśáˇááźá ááŹááąáŹááşá¸áá˛áˇáĄáááŻááşáĄáááˇáşáá áşááŻáĄáá˝ááşá¸áážáŹ áĄááŹáĄáŹá¸ááŻáśá¸áᏠáááźáŹáááşáážáŹ áážáŹá¸áá˝áŹá¸ááąáŹáˇáááşáááŻáᏠáážááşá¸ááŤáááşá
ááťá˝ááşááąáŹáşáááŻáˇáĄáá˝ááş ááŽáĄáááŻááşáĄáááˇáşá áá˝ááşáá˛áˇáá˛áˇ áá áşáážá áşáá˝á˛ááąáŹááşá ááąáŹááşááŹáááşá ááŤáááŻáˇ ááŽááᯠáááşáááŻááąáŹááşááŹááźáŽá¸ ááąáŹááşááŻáśá¸áážáŹ ááźá áşááťááşáá˛áˇááŹáá˝áąááᯠááŤáááŻáˇá áĄááááˇáşááąá¸áááşá
áĄáážáŻááááŻááşá¸
áááááŻáśá¸ áĄááąáŹááşáĄáááşááąáŹáşáážáŻáá˝ááşá VKontakte áááşááąáˇááťáşááťáŹá¸áááş PHP backend áážááˇáş MySQL ááąáŤááşá¸á ááşáážáŻáá˝ááş ááŻááşááąáŹááşáá˛áˇáááşá á¤áááşáážáŹ ááťáąáŹááşá¸ááŹá¸áááşáááŻááşáááşáĄáá˝ááş ááŻáśá¸áááŻáśáážááşááźáąáážááşá¸ááťááşááźá áşáááşá áááŻáˇááąáŹáşá á¤áááŻááşáááş ááááşá¸ááááŻááşááááşá¸áá ááźáŽá¸áá˝áŹá¸ááŹááźáŽá¸ áá°áˇááŹááŹáá°áĄáá˝ááş ááąááŹáá˝á˛áˇá ááşá¸ááŻáśááťáŹá¸ááᯠáááŻáááŻááąáŹááşá¸áá˝ááşáĄáąáŹááşááźáŻááŻááşáááş ááąáŹááşá¸áááŻááŹáááşá
2009 ááŻáážá áşáĄááŻááşáá˝ááş áááááŻáśá¸ text-engine repository ááᯠááąá¸ááŹá¸áá˛áˇááźáŽá¸ 2010 áá˝ááş áááşááąáˇááťáşááťáŹá¸ááᯠáááşá¸ááśáááŻáˇ áá˝ážá˛ááźáąáŹááşá¸ááąá¸áá˛áˇáááşá
á
áŹááŹá¸áĄááşááťááşáá˝ááş áááşááąáˇááťáşááťáŹá¸ááᯠá
áŹáááşá¸ááťáŹá¸áá˛áá˝ááş ááááşá¸áááşá¸ááŹá¸áááş - "á
áŹáááŻááşááŻáśá¸ááťáŹá¸" áĄááťááŻá¸áĄá
áŹá¸á áááŻá
áŹáááşá¸áá
áşááŻá
áŽááᯠá¤áááşááąáˇááťáşáĄáŹá¸ááŻáśá¸ááᯠáááŻááşáááŻááşááąáŹ áĄááŻáśá¸ááźáŻáá° uid á ááŻáśá¸ááźááşáááşá áááşááąáˇááťáşáá
áşááŻáá˝ááş áááşáá˝ážááşá¸ááťááşááťáŹá¸ áĄá
áŻáśááŤáážááááş- áĄááźááşáĄáážááşááźáąáŹáááŻáá° áĄáážááşáĄááŹá¸á á
áŹááŹá¸á áá°á¸áá˝á˛ááŤáááŻááşááťáŹá¸áážááˇáş áĄááźáŹá¸áĄááŹááťáŹá¸á âááąáŹááşá
áşâ áĄáá˝ááşá¸áážá áááşááąáˇááťáş áááşáážááşá
áá
áşáááş local_id ááźá
áşááźáŽá¸á áááşá¸áááş áááşáááˇáşáĄááŤááž áááźáąáŹááşá¸áá˛áᲠáááşááąáˇááťáşáĄáá
áşááťáŹá¸áĄáá˝ááş á
ááşáááşáááźááş áááşáážááşááąá¸ááŹá¸áááşá âááąáŹááşá
áşááťáŹá¸â áááş ááŽá¸ááźáŹá¸ááźá
áşááźáŽá¸ áĄááşááťááşáĄáá˝ááşá¸á áá
áşááŻáážááˇáşáá
áşáᯠáááşáá°ááźáŻáááááŤá áááşá¸áááŻáˇáĄááźáŹá¸ áááşáá˝ááşáážáŻáážáŹ PHP áĄáááˇáşáá˝ááş ááźá
áşááąáŤáşáááşá áĄáá˝ááşá¸ááž text-engine á ááąááŹáá˝á˛áˇá
ááşá¸ááŻáśáážááˇáş ááŻááşááąáŹááşáááŻááşá
á˝ááşá¸ááťáŹá¸ááᯠááźááˇáşáážáŻáááŻááşáááşá .

áááşá¸áááş ááŻáśá¸á
á˝á˛áá°áážá
áşáŚá¸ááźáŹá¸ á
áŹááąá¸á
áŹáá°áĄáá˝ááş ááŻáśááąáŹááşááŤáááşá ááŹáá˝áąáááşááźá
áşááá˛áááŻáᏠáááˇáşáážááşá¸ááźááˇáşááĄáąáŹááşá
2011 ááŻáážá áş ááąááá˝ááşá VKontakte áááş ááŤáááşáá°áĄááťáŹá¸áĄááźáŹá¸áážááˇáş á ááŹá¸ááźáąáŹáááŻáážáŻááťáŹá¸â multi-chat ááťáŹá¸ááᯠááááşáááşáá˛áˇáááşá áááşá¸áááŻáˇáážááˇáş ááŻááşááąáŹááşáááşá áĄáá˝á˛áˇáááş-ááťááşááťáŹá¸áážááˇáş ááťááşáĄáá˝á˛áˇáááşááťáŹá¸ áĄá áŻáĄáá˝á˛áˇáĄáá áşáážá áşááŻááᯠááźáŻá áŻááťááŻá¸ááąáŹááşáá˛áˇáááşá ááááá áşááŻá ááŻáśá¸á á˝á˛áá°ááťáŹá¸á ááťááşááťáŹá¸áĄááźáąáŹááşá¸ ááąááŹááᯠááááşá¸áááşá¸áááşá ááŻááááá áşááŻáááş ááŻáśá¸á á˝á˛áá°ááťáŹá¸á áĄááťááşáĄáááşááťáŹá¸ááᯠááťááşááťáŹá¸ááźááˇáş ááááşá¸áááşá¸áááşá á áŹáááşá¸ááťáŹá¸áááŻááşáááŻááşáĄááźááşá áĽáááŹáĄáŹá¸ááźááˇáşá ááááşááąáŤáşááąáŹáĄááŻáśá¸ááźáŻáá°áážááˇáş áááşá¸áááŻáˇááᯠááťááşáááŻáˇáááˇáşáá˝ááşá¸áááˇáşáĄááťáááşáááŻáˇ ááŤáááşáááşá
"PHPá ááťááşáááŻáˇ áááşááąáˇááťáşáááŻáˇááźááŤá
ááŻáˇ" áᯠááŻáśá¸á
á˝á˛áá°á ááźáąáŹáááşá
"ááŹááŤá {username}" áᯠPHP ááááŻáááşá

á¤áĄá
áŽáĄá
áĽáşáá˝ááş áĄáŹá¸áááşá¸ááťááşááťáŹá¸áážááááşá Synchronization áááş PHP áááŹáááşááźá
áşááąáá˛ááźá
áşáááşá ááźáŽá¸ááŹá¸ááąáŹ ááťááşááťáŹá¸áážááˇáş áááşá¸áááŻáˇááś áááşááąáˇááťáşááťáŹá¸ áá
áşááźááŻááşáááş ááąá¸áááŻáˇááąáŹ ááŻáśá¸á
á˝á˛áá°ááťáŹá¸áááş áĄáášáááŹááşáážáááąáŹ ááŹááşáááşá¸áá
áşááŻááźá
áşáááşá text-engine instance áááş uid ááąáŤáşáá˝ááşáá°áááşááąáŹááźáąáŹááˇáşá ááťááşááŤáááşáá°ááťáŹá¸áááş ááá°ááŽááąáŹáĄááťáááşááťáŹá¸áá˝ááş áá°ááŽááąáŹáááşááąáˇááťáşááᯠáááşááśááážááááŻááşááŤáááşá áááŻá¸áááşáážáŻ áááşáááˇáşááąááťážááş á¤áĄááŹááźááˇáş ááąáááŻááşáááŻááşáááşá ááŤááąáááˇáş áĄá˛ááŤááźá
áşáááŹáá°á¸á
2015 áážá áşááŻááşáá˝ááşá ááťá˝ááşáŻááşáááŻáˇáááş áá˝ááşááźá°áááŽáááşááąáˇááťáşááťáŹá¸ááᯠá áááşáá˛áˇááźáŽá¸ 2016 ááŻáážá áşáĄá áá˝ááş áááşá¸áááŻáˇáĄáá˝ááş API áá áşááŻááᯠá áááşáá˛áˇááŤáááşá áĄáááŻááşá¸áĄáááŻááşá¸ááťáŹá¸áá˝ááş chatbot ááźáŽá¸ááťáŹá¸ áá˝ááşá¸ááŹá¸ááŹáááşáážááˇáşáĄááťáž load distribution áááŻáááş ááąáˇáá˝áŹá¸áááŻááşáááşá
ááąáŹááşá¸áá˝ááşááąáŹ ááąáŹáˇááşáá áşááŻáááş áá áşááąáˇááťážááş áááşááąáˇááťáşááąáŤááşá¸ áááşá¸ááąáŤááşá¸ááťáŹá¸á á˝áŹááᯠááŻááşááąá¸áááş - á ááŹá¸ááźáąáŹáááŻáááşáááˇáş ááŻáśá¸á á˝á˛áá°áĄááťáŹá¸á áŻáááşááťážááş áááşá¸ááᯠááŻááşáá°ááśáˇááźá˝áŹá¸áááŻááşáááşáááŻááşááąá áááŻáááŻáááşáážáŹ áááŻáá˛áˇáááŻáˇááąáŹ bot ááťáŹá¸ááąáááŻááşáá˛áˇáááˇáş text-engine áááźá áşáááşáĄááťááŻáˇáááş áĄááźááˇáşáĄáááśá áŹá¸ááŹáááąáŹáˇáááşá
2016 áá˝ááş Message engine ááťáŹá¸áááş chat-member áážááˇáş member-chats ááąáŤááşá¸ 100 áážááˇáş text-engines 8000 áááŻáˇááźá áşáááşá áááşá¸áááŻáˇááᯠ64 GB áááşáááŻááŽáá áşááŻá áŽáá˝ááş ááŹááŹáá áşááąáŹááşáá˝ááş áááşááśááťááşá¸ááá˛áˇáááşá ááááĄááźáááş áĄááąá¸ááąáŤáşáááŻááşá¸ááŹáážáŻáĄááąááźááˇáş áááşáááŻááŽááᯠááąáŹááşáááş 32 GB áááŻá¸ááźážááˇáşáá˛áˇáááşá áááˇáşáážááşá¸ááťááşáá˝áąááᯠááťá˝ááşááąáŹáşáááŻáˇ áááˇáşáážááşá¸áááşá ááźááşá¸áááşááąáŹááźáąáŹááşá¸áá˛áážáŻááážááá˛á áááşá¸áááş ááąáŹááşáááşáá áşáážá áşáááˇáş ááŻáśááąáŹááşáááşááźá áşáááşá áááşáááş ááŹáˇááşáá˛ááᯠáááŻááşááŹá¸áááş áááŻáˇáááŻááş ááąááŹááąáˇá áşááťáŹá¸ááᯠáááşá¸áááŻáˇáááŻááşáááŻááş áĄááąáŹááşá¸ááŻáśá¸ááźá áşáĄáąáŹááş ááźáŻááŻááşáááş áááŻáĄááşáááşá
ááááŻááŹáááŹá áááąáŹáááŹáááźáąáŹááˇáşá áááşá¸áááş ááŹáˇááşáá˛ááᯠáĄáááťáŹá¸á á˝áŹ áááŻá¸ááźážááˇáşáááşáᏠáĄáááášááŤááşáážááááşá áááŻáááŻáááşáážáŹá áĄáááşá¸ááŻáśá¸ááŹá¸áĄááąáĄáá˝ááşááᯠáážá áşááááŻá¸ááźááşá¸ááźá áşáááş - áááşáážáŹá¸áááşáážáŹá á¤áááşáážáŹ áĄáá˝ááşá áťáąá¸ááźáŽá¸ááąáŹáááşá¸ááźáąáŹááşá¸ááźá áşáááşá áĄááąáŹááşá¸ááŻáśá¸ááźá áşáĄáąáŹááşááŻááşáááşá
áĄáá°áĄááá áş
ááťááşá¸áááşáážáŻáĄáá áşá áĄááááĄáážá áşááŹááážáŹ á ááŹá¸ááźáąáŹáááşá¸ááźá áşáááşá ááťááşáá áşááŻáá˝ááş áááşá¸áážááˇáşáááşáááŻááşáááˇáş áááşááąáˇááťáşááťáŹá¸á áŹáááşá¸ááŤáážááááşá áĄááŻáśá¸ááźáŻáá°áá˝ááş ááťááşááťáŹá¸á áŹáááşá¸áážááááşá
áááŻáĄááşááąáŹ áĄááááˇáşááŻáśá¸áážáŹ ááąááŹááąáˇá áşáĄáá áşáážá áşááŻááźá áşáááşá
- ááťááşáááşáĄááşááťááşá áááşá¸áááş ááťááş vector ááťáŹá¸á áááŻáážáąáŹááşáážáŻ ááźá áşáááşá ááťááşáá áşááŻá áŽáá˝ááş áááşá¸áážááˇáşáááşáááŻááşááąáŹ áááşááąáˇááťáşááťáŹá¸á ááŻáśááášááŹááşáá áşááŻáážááááşá áááşááąáˇááťáşáá áşááŻá áŽáá˝ááş ááťááşáĄáá˝ááşá¸á á áŹááŹá¸áážááˇáş ááŽá¸áááˇáşáááşááąáˇááťáşáá áşááŻááŤáážááááş - chat_local_idá
- áĄááŻáśá¸ááźáŻáá°-áĄááşááťááşá áááşá¸áááş ááŻáśá¸á á˝á˛áá°ááťáŹá¸ááś áááˇáşááşááťáŹá¸ - áĄááŻáśá¸ááźáŻáá°ááťáŹá¸á áááŻáážáąáŹááşáážáŻáá áşááŻááźá áşáááşá áĄááŻáśá¸ááźáŻáá°áá áşáŚá¸á áŽáá˝ááş peer_id á vector áá áşááŻá áŽáážá (áĄááźááşáĄáážááşááźáąáŹáááŻáá°ááťáŹá¸ - áĄááźáŹá¸áĄááŻáśá¸ááźáŻáá°ááťáŹá¸á ááťááşááťááŻá¸á áŻáś áááŻáˇáááŻááş áĄáááŻááşá¸áĄáááŻááşá¸ááťáŹá¸) áážááˇáş áááşááąáˇááťáşááťáŹá¸á vector áá áşááŻáážááááşá peer_id áá áşááŻá áŽáá˝ááş áááşá¸áážááˇáşáááşá ááşááąáŹ áááşááąáˇááťáşááťáŹá¸á vector áá áşááŻáážááááşá áááşááąáˇááťáşáá áşááŻá áŽáá˝ááş chat_local_id áá áşááŻáážááˇáş áááŻáĄááŻáśá¸ááźáŻáá°áĄáá˝ááş áá°á¸ááźáŹá¸ááąáŹáááşááąáˇááťáş ID áá áşááŻááŤáážááááş - user_local_idá

áĄá
áŻáĄáá˝á˛áˇáĄáá
áşááťáŹá¸áááş TCP áááŻáĄááŻáśá¸ááźáŻá áĄááťááşá¸ááťááşá¸áááşáá˝ááşááźáááş - áááşá¸áááş ááąáŹááşá¸áááŻáážáŻáĄá
áŽáĄá
áĽáşáááźáąáŹááşá¸áá˛ááźáąáŹááşá¸ááąááťáŹá
áąáááşá ááąáŹááşá¸áááŻááťááşááťáŹá¸áážááˇáş áááşá¸áááŻáˇáĄáá˝ááş áĄáááşááźáŻááťááşááťáŹá¸ááᯠááŹáˇááşááááŻááşááąáŤáşáá˝ááş áážááşáááşá¸áááşááŹá¸áááş - áááŻáˇááźáąáŹááˇáş ááťá˝ááşáŻááşáááŻáˇáááş áĄááşááťááşááťááŻáˇáá˝ááşá¸áážáŻ áááŻáˇáááŻááş ááźááşáááşá
áááşááźáŽá¸ááąáŹááş áĄááťáááşááá˝áąá¸ áááşá¸á
áŽááźááşá¸áĄááźáąáĄááąááᯠááźááşáááşááá°áááŻááşáááşá áĄááŻáśá¸ááźáŻáá°áĄááşááťááşáážááˇáş ááťááşáááşáĄááşááťááşáááş áá
áşááŻááťážááş áĄáááŻááşá¸áá˝á˛ 4 ááźá
áşááąáŹááźáąáŹááˇáşá áĄá
áŻáĄáá˝á˛áˇááťáŹá¸ááźáŹá¸ ááąáŹááşá¸áááŻááťááşáááşá¸á
áŽááᯠáĄááŽáĄááťáž áá˝á˛ááąááąá¸áááş (áááŻáˇááąáŹáş áááşáá˝áąáˇáá˝ááş ááŻáśá¸áááážáá፠- áááşá¸áááş áĄáá˝ááşááťááşááźááşá
á˝áŹ áĄááŻááşááŻááşáááş)á
ááá ášá áĄááťáŹá¸á áŻáá˝ááş ááťá˝ááşáŻááşáááŻáˇáááąááŹááąáˇá áşááťáŹá¸áá˝ááş disk áážááˇáşáĄááŻááşááŻááşááźááşá¸áááş binary log of change (binlog)á static snapshots áážááˇáş memory áážá áá áşá áááşáá áşáááŻááşá¸ááŻáśáá áşááŻáśáááąáŤááşá¸á ááşáážáŻáĄááąáŤáşáĄááźáąááśáááşá ááąáˇá áĽáşáĄáá˝ááşá¸ áĄááźáąáŹááşá¸áĄáá˛ááťáŹá¸ááᯠbinlog áá˝ááşááąá¸ááŹá¸ááźáŽá¸ áááşáážááĄááźáąáĄááąáááťážááşáá áşááźááşááᯠáĄááŤáĄáŹá¸ááťáąáŹáşá á˝áŹ áááşááŽá¸ááŤáááşá ááťážááşáá áşááźááşáááŻááşááťááşáááş ááťá˝ááşáŻááşáááŻáˇááááşáá˝ááşááťááşááťáŹá¸áĄáá˝ááş áĄááąáŹááşá¸ááŻáśá¸ááźááşáááşááŹá¸ááąáŹ ááąááŹáá˝á˛áˇá ááşá¸ááŻáśááťáŹá¸á áŻá ááşá¸áážáŻáá áşááŻááźá áşáááşá áááşá¸áá˝ááş ááąáŤááşá¸á áŽá¸ (ááŻáśá áááşááŹáá˝ážááşá¸ááááşá¸) áážááˇáş metafiles áĄá áŻáá áşáᯠááŤáááşáááşá ááąáŤááşá¸á áŽá¸ááᯠRAM áá˝ááş áĄááźáŽá¸áĄáááŻááşááááşá¸áááşá¸ááŹá¸ááźáŽá¸ ááťážááşáá áşááźááşáááŻááşááťááşááž ááąááŹááᯠáážáŹáá˝áąááááˇáşááąááŹááᯠáá˝ážááşááźáááşá metafile áá áşááŻá áŽáá˝ááş áĄááťáááşáážááˇáşáááźáąá¸áᎠáááŻáĄááşáááˇáş ááąááŹááťáŹá¸ ááŤáááşáááşâáĽáááŹá áĄááŻáśá¸ááźáŻáá°áá áşáŚá¸áážááˇáş áááşáááŻááşáááşá ááťážááşáá áşááźááşáááŻááşááťááşááąáŤááşá¸á áŽá¸ááᯠáĄááŻáśá¸ááźáŻá ááąááŹááąáˇá áşááᯠáááşááąá¸ááźááşá¸ááąáŹáĄááŤá áááŻáĄááşááąáŹ metafile áááŻáááşááźáŽá¸ ááťážááşáá áşááźááşáááŻááşááťááşáááşááŽá¸ááźáŽá¸ááąáŹááş ááźá áşááąáŤáşáá˛áˇááąáŹ binlog áá˝ááş ááźáąáŹááşá¸áá˛áážáŻááťáŹá¸ááᯠáááˇáşáá˝ááşá¸á ááşá¸á áŹá¸ááŤáááşá á¤ááťááşá¸áááşáážáŻá áĄááťááŻá¸ááťáąá¸áá°á¸ááťáŹá¸áĄááźáąáŹááşá¸ áááŻáááŻáááşáážáŻáááŻááşááŤáááşá .
áá áşááťáááşáááşá¸áážáŹáááşá ááŹáˇááşááááŻááşááąáŤáşáážá ááąááŹáááŻááşáááŻááşá áá áşááąáˇááťážááş áá áşááźáááşáᏠááźáąáŹááşá¸áá˛ááźááşá¸ - ááąáŹáşá áááŻááźááŻáˇá ááĽáˇáşáááşááąáŹáĄááŤá áááşáĄáááşá¸áááşááŹááŤáááşá áááşá¸ááźáąáŹááˇáş (áá áşááşááąáŤáşáážá áááşááąáŹááşááŻáśáááş áá áşááąáˇááŹááŻáśá¸ áááźááşáááŹá¸ááźá áşááąááźáąáŹááşá¸ááᯠáááážáááźááşá¸)á ááťá˝ááşáŻááşáááŻáˇáááş ááŻáśááąáĄáá˝ááşáĄá áŹá¸áážáááąáŹ arrays ááťáŹá¸ááźááˇáş vector ááťáŹá¸ááᯠáĄá áŹá¸áááŻá¸áááş áááşáááŻááşáááş - áááşá¸ááźáąáŹááˇáş áážááşááŹááşáá˝ááş áááŻá¸ááŹááŤáááşá
áĄá áŽáĄá áĽáşáĄáá áşáá˝ááş áááşááąáˇááťáşáááŻáˇááźááşá¸áážáŹ áĄáąáŹááşááŤáĄáááŻááşá¸ááźá áşáááş-
- PHP backend áááş á áŹáááŻááąá¸áááŻáˇáááş ááąáŹááşá¸áááŻááťááşááźááˇáş ááŻáśá¸á á˝á˛áá°-áĄááşááťááşááᯠáááşáá˝ááşáááşá
- user-engine áááş ááąáŹááşá¸áááŻááťááşááᯠáĄáááŻáážáááąáŹ chat-engine instance áááŻáˇ ááźááşáááŻáˇáááşá áááşá¸áááş user-engine chat_local_id - á¤ááťááşáĄáá˝ááşá¸ááž áááşááąáˇááťáşáĄáá áşá áá°á¸ááźáŹá¸ááąáŹ áĄááąáŹááşáĄááŹá¸áá áşááŻááźá áşáááşá áááŻáˇááąáŹááş chat_engine áááş ááťááşáážá áááşááśáá°áĄáŹá¸ááŻáśá¸ááᯠáááşááąáˇááťáş ááŻááşáá˝ážááˇáşáááşá
- user-engine áááş chat-engine ááž chat_local_id ááᯠáááşááśááážáááźáŽá¸ user_local_id ááᯠPHP áááŻáˇ ááźááşááąá¸áááş - á¤áĄááŻáśá¸ááźáŻáá°áĄáá˝ááş áá°á¸ááźáŹá¸ááąáŹ áááşááąáˇááťáş identifier ááźá áşáááşá API áážáá áşáááˇáş áááşááąáˇááťáşááťáŹá¸áážááˇáş áĄááŻááşááŻááşáááş áĽáááŹáĄáŹá¸ááźááˇáş á¤áĄáážááşáĄááŹá¸ááᯠáĄááŻáśá¸ááźáŻáááşá

áááŻáˇááąáŹáş áĄáážááşááááş áááşááąáˇááťáşáááŻáˇááźááşá¸áĄááźááşá áááşáááş ááąáŹááşáááşáĄááąá¸ááźáŽá¸ááąáŹáĄááŹáĄááťááŻáˇááᯠáĄááąáŹááşáĄáááşááąáŹáşáááş áááŻáĄááşáááş-
- á áŹáááşá¸áá˝á˛ááťáŹá¸áááş áĽáááŹáĄáŹá¸ááźááˇáşá á ááŹá¸áááŻááşá¸á áŹáááşá¸áááŻáá˝ááˇáşááąáŹáĄá፠áááşáá˝áąáˇááźááşáááąáŹ ááąáŹááşááŻáśá¸ááááşá¸á ááŹá¸ááťáŹá¸ááźá áşáááşá ááááşáááąá¸ááąáŹá áŹááťáŹá¸á áááşááťáŹá¸ááŤááąáŹ áááşááąáˇááťáşááťáŹá¸ ("áĄááąá¸ááźáŽá¸"á "á áááşá¸" á áááşááźááˇáş)á
- ááťááşáááşáĄááşááťááşáá˝ááş áááşááąáˇááťáşááťáŹá¸ááᯠááťáŻáśáˇááźááşá¸á
- áĄááŻáśá¸ááźáŻáá°áĄááşááťááşáá˝ááş ááááşá¸áááşá¸ááŹá¸ááąáŹ á áŹáááŻááťáŹá¸
- áážáŹáá˝áąá፠(áááŻááşááŹááąáŹáˇááşááťáŹá¸áĄáŹá¸ááŻáśá¸áážááˇáş ááŽá¸ááźáŹá¸áá áşááŻáĄáá˝ááşá¸)á
- áĄááťáááşáážááˇáşáááźáąá¸áᎠáĄááşááááş (Longpolling)á
- áááŻáááŻááşá¸ááááŻááşá¸áááˇáşááťáŹá¸ááąáŤáşáá˝ááş caching áááŻáĄááąáŹááşáĄáááşááąáŹáşáááşááááŻááşá¸áááŻááááşá¸áááşá¸ááŤá
á áŹáááşá¸áá˝á˛ááťáŹá¸áĄáŹá¸ááŻáśá¸áááş ááťááşááźááşá á˝áŹ ááźáąáŹááşá¸áá˛ááąááąáŹ áá˝á˛áˇá ááşá¸ááŻáśááťáŹá¸ááźá áşáááşá áá°áááŻáˇáá˛áˇ áĄááŻááşááŻááşáááŻáˇ ááťá˝ááşááąáŹáşáááŻáˇ ááŻáśá¸áááşá . áá áşáááşáááááşáá˝ááş áá áşááŤáá áşááś ááťážááşáá áşááźááşáááŻááşááťááşáá áşááŻááž áááşááąáˇááťáşááťáŹá¸á áĄáááŻááşá¸áá áşááŻááŻáśá¸ááᯠáá áşááŤáá áşááś ááááşá¸áááşá¸ááŹá¸ááąáŹááźáąáŹááˇáş á¤áá˝áąá¸ááťááşáážáŻááᯠáážááşá¸ááźáááş - áĽáááŹá áá ááşááááŻááşá¸ ááźááşáááşáá˝ážááşá¸ááááşá¸ááŻááşááźáŽá¸ááąáŹááşá áá áşáááşáá˝ááş á áŹáááşá¸áá˝á˛ááťáŹá¸á áááşááąáˇááťáşááťáŹá¸áĄáŹá¸ááŻáśá¸ááŤáážáááąáŹ ááááşáá áşááŻááŤáážááááşá Splay tree áááş ááťáááşáá˝ááşááťážáŹááᯠááťáááşáážááááş á ááşá¸á áŹá¸á ááŹááááŻáᲠáááŻáááŻáˇááąáŹ ááąáŤááşáááŻááşá áĄáááşáááŻáˇ áĄáá˝ááşááá° áááˇáşáááŻááşáááşá áááŻáˇáĄááźááşá Splay áááş ááťá˝ááşáŻááşáááŻáˇááážááşááŹááşááᯠáááşááŹá áąááąáŹ ááááŻáĄááşááąáŹááąááŹááťáŹá¸ááᯠááááşá¸áááşá¸áááŹá¸ááąá
áááşááąáˇááťáşááťáŹá¸áá˝ááş ááťáŻáśáˇáááŻááşá áąáááş áĄááŻáśá¸áááşááąáŹ á áŹááŹá¸áĄááťáŹá¸á áŻáá˝ááş áĄááťááşáĄáááşáĄááťáŹá¸áĄááźáŹá¸ááŤáážááááşá áááşááąáˇááťáşáá áşááŻááťááşá¸á áŽáááŻáááş ááááťá á˝áŹ ááááşá¸áááşá¸áááŻááşá áąáááş áĄááąá¸ááźáŽá¸ááŤáááşá áááşááąáˇááťáşááťáŹá¸ááᯠááťáŻáśáˇáááş áĄááŻáśá¸ááźáŻáááşá ááťá˝ááşáŻááşáááŻáˇááááŻááşáááŻááş heuristics ááźááˇáş áĽáááŹáĄáŹá¸ááźááˇáşá áááşááąáˇááťáşááťáŹá¸áá˝ááş âá ááŹá¸ááŻáśá¸áááŻááşááąáŹâ áá°ááąáŹ á ááŹá¸ááŻáśá¸ááťáŹá¸áááş ááąááŹáá˝ááşááťáŹá¸á ááŻááşááźááşáĄáážááşáĄááŹá¸ááťáŹá¸áážááˇáş áĄá áŹá¸áááŻá¸ááźáąáŹááşá¸ ááťá˝ááşáŻááşáááŻáˇááááźááźáŽá¸ ááŻáážáŹá¸ááŹááŹá ááŹá¸áĄáá˝ááş áááşášááąáááťáŹá¸áĄááŻáśá¸ááźáŻááźááşá¸á áĄááşášááŤáááşáĄááťááŻáˇáááŻáááşá¸ áážááşááŹá¸ááŹá¸ááźáááşá
ááťááşááťáŹá¸áááş áĄááŻáśá¸ááźáŻáá° áĄáá˝ááşáááşá¸ááąáŹááźáąáŹááˇáş chat-engine áá˝ááş ááťáááşá¸áááşááąáŹááşáá˝ááˇáşáá áşááąáŹááşá¸áááŻáážáŻááťáŹá¸ááᯠááááşá¸áááşá¸áááşáĄáá˝ááş ááťá˝ááşáŻááşáááŻáˇáááş áĄááŻáśá¸ááźáŻáá°-áĄááşááťááşáá˝ááş áááşááąáˇááťáşááťáŹá¸ááᯠááááşá¸áááşá¸ááŤáááşá
áááşááąáˇááťáşáážáŹáá˝áąáážáŻááᯠáĄááŻáśá¸ááźáŻáá°áĄááşááťááşááž á¤áĄááŻáśá¸ááźáŻáá°áááťááşááťáŹá¸ááŤáážáááąáŹ ááťááşáĄááşááťááşááźá áşáááşááťáŹá¸áĄáŹá¸ááŻáśá¸áĄáá ááąáŹááˇáşááźááşááąá¸áá˝ááşá¸áá áşááŻáĄááźá áş ááŻááşááąáŹááşáááşá ááááşááťáŹá¸ááᯠááŻáśá¸á á˝á˛áá°áĄááşááťááşáááŻááşáááŻááş ááąáŤááşá¸á ááşááŹá¸áááşá
ááąáŹááşá¸ááźáŽá áĄáŹá¸ááŻáśá¸ááąáŹáĄááąá¸á áááşáĄááťááşáĄáááşááťáŹá¸áááŻáááˇáşáá˝ááşá¸á ááşá¸á áŹá¸ááŹá¸ááźáŽá¸á ááťááşáážááááˇáşáĄááŹáĄáŹá¸ááŻáśá¸áážáŹáĄá áŽáĄá ááşáĄáá áşáá áşááŻáááŻáˇááźáąáŹááşá¸áááşááźá áşáááş - áááşá¸áááŻáĄááŻáśá¸ááźáŻáá°ááťáŹá¸ááááááŹá¸áááá˛ááźá áşááąáŹááşá¸ááźá áşáááŻááşáááşá
ááąááŹáá˝ážáąáˇááźáąáŹááşá¸ááźááşá¸á
áááŻáˇááźáąáŹááˇáşá ááťá˝ááşáŻááşáááŻáˇáá˝ááş áĄááŻáśá¸ááźáŻáá°ááž áááşááąáˇááťáşááťáŹá¸ááᯠááááşá¸áááşá¸ááąá¸áááˇáş á áŹááŹá¸áĄááşááťááşáá áşáᯠáážáááźáŽá¸á ááťáŹá¸á á˝áŹááąáŹ ááťááşáááşá¸ááťáŹá¸áážááˇáş áááşá¸áááŻáˇáážá ááŻáśá¸á á˝á˛áá°ááťáŹá¸áĄááźáąáŹááşá¸ áĄááťááşáĄáááşááťáŹá¸ááᯠááááşá¸áááşá¸áááˇáş ááťááşáĄáá˝á˛áˇáááşááťáŹá¸áážááˇáş áĄáá˝á˛áˇáááşááťááşááťáŹá¸ áĄá áŻáĄáá˝á˛áˇáážá áşááŻáážááááşá áááşá¸ááž áĄááŻáśá¸ááźáŻáá°-áĄááşááťááşáážááˇáş ááťááşáááşáĄááşááťááşáĄáá áşáááŻáˇ áááşáááŻáˇááźáąáŹááşá¸ááááşáááşá¸á
ááŻáśá áśááąáŹááşá¸áážá áĄáá˝á˛áˇáááş-ááťááşááťáŹá¸ááᯠáááŻáááŻááąáŹááşá¸áá˝ááşáĄáąáŹááşááźáŻááŻááşáááş áĄááááĄááŻáśá¸ááźáŻáá˛áˇáááşá ááťá˝ááşáŻááşáááŻáˇáááş áááşá¸ááž áááŻáĄááşááąáŹááąááŹááťáŹá¸ááᯠááťááşáĄáá˝á˛áˇáááşááťáŹá¸ááś áĄááźááşáá˝ážá˛ááźáąáŹááşá¸ááąá¸ááźáŽá¸ááąáŹááş áááşá¸áááş áá˝ážáąáˇááźáąáŹááşá¸ááźááşá¸ááŻááşáááşá¸á ááşáá˝ááş áááŤáááşááąáŹáˇááŤá
ááťááşáĄáá˝á˛áˇáááşááťáŹá¸áĄáá˝ááş áááşá¸á
áŽáááşá áááşá¸áá˝ááşááźá
áşáááşááąáŤááşá¸ 100 ááŤáááşááźáŽá¸ chat-engine áá˝ááş 4 áážááááşá ááąááŹáá˝ážá˛ááźáąáŹááşá¸áááşá áááşá¸ááᯠáááŻááşááťáąáŹááŽáá˝áąááźá
áşá
áąáááş áááŻáĄááşáááş - áááşá¸áĄáá˝ááşá ááťááşáĄáá˝á˛áˇáááşááťáŹá¸ááᯠáá°ááŽááąáŹ ááąáŹáşáᎠ4,ááá áá˝ááş áááŻááşá¸ááźáŹá¸ááŹá¸ááźáŽá¸á áááŻáˇááąáŹááş chat-áĄáá˝á˛áˇáááş binlog ááááşáážáŻááźááşá¸ááᯠchat-engine áá˝ááşáá˝ááˇáşááŹá¸áááşá

ááᯠchat-engine áááş chat-member ááťáŹá¸ááśááž multi-chat áĄááźáąáŹááşá¸ááááąáŹáşáááşá¸ áĄááźááşáĄáážááşáá˝áąá¸áá˝áąá¸áá°áážá
áşáŚá¸áážááˇáş dialogues áĄááźáąáŹááşá¸ ááŹáážáááááąá¸ááŤá áááŻáááŻáˇááąáŹ áá˝áąá¸áá˝áąá¸áá˝á˛ááťáŹá¸áááş ááŻáśá¸á
á˝á˛áá°ááťáŹá¸ááᯠáááşáá˝ážááşá¸áááˇáş text-engine áá˝ááş áááşáážááááşá á¤ááąááŹáá˝ááş ááťá˝ááşáŻááşáááŻáˇáááş ááąááŹááᯠ"head-on" áá°áááŻááşáááş- chat-engine instance áá
áşááŻá
áŽáááş áááşá¸áááŻáˇáá˝ááş áááŻáĄááşáááˇáş dialogue áážáááážáá text-engine instance áĄáŹá¸ááŻáśá¸ááᯠááąá¸áááşá
ááťááşáĄááşááťááşáááş áĄá
áŻáśáááŻááşááťááşááťáŹá¸áážáááąáááşááᯠááááźáŽá¸ áĄá˛ááŽáážáŹ ááŹáá˝áąá¸áá˝áąá¸áážáŻááťáŹá¸áážááᲠáááááşá
ááťááşáá
áşááŻá
áŽáá˝ááş áááşááąáˇááťáşá
áŹáááşá¸áá
áşááŻááźááˇáş áĄááŻáśá¸áááşáááŻááşáááş áááşáááş Multi-chat chat ááťáŹá¸áá˝ááş áááşááąáˇááťáşááťáŹá¸ááᯠááąáŤááşá¸á
ááşáááşáááŻáĄááşáááşá ááááŚá¸á
á˝áŹá ááťááşáĄááşááťááşáááş á¤ááťááşááž áĄááŻáśá¸ááźáŻáá°áááşááąáˇááťáşáĄáŹá¸ááŻáśá¸ááᯠá
áŹááŹá¸áĄááşááťááşááž ááŻááşáá°áááşá áĄááťááŻáˇááąáŹááá
ášá
ááťáŹá¸áá˝ááşáááşá¸áááŻáˇáĄááťáŹá¸áĄááźáŹá¸ (áááşá¸ááŹááąáŤááşá¸ááťáŹá¸á
á˝áŹáĄáá) áážáááąáŹáşáááşá¸áĄáá˝ááşáážáŹá¸ááŤá¸ááąáŹááźá˝ááşá¸ááťááşáĄááąááźááˇáşááťááşáááş RAM áážááˇáşááŻáśá¸ááááŻááşááŽáááşá ááťá˝ááşáŻááşáááŻáˇáá˝ááş áĄá
áŽáĄá
áĽáşááááşáááąá¸ááąáŹ áááşááąáˇááťáşááťáŹá¸áážáááźáŽá¸á áá
áşááŻá
áŽáá˝ááş ááąáŹáşááŽáĄááťáŹá¸áĄááźáŹá¸áážáááŤáááş- ááąáŹááşááŻáśá¸áá˝ááşá áááşá¸áááŻáˇáĄáŹá¸ááŻáśá¸ááᯠáĄááŻáśá¸ááźáŻáá°ááťáŹá¸áážááˇáşáááşáááŻááşáááˇáş ááá°ááŽááąáŹá
áŹááŹá¸-áĄááşááťááşááźá
áşáááşááťáŹá¸ááž áá˝á˛ááŻááşááŹá¸ááŤáááşá áááşáá˝ááşááťááşáážáŹ áááşááąáˇááťáşááťáŹá¸ááᯠá
áŽáááşááźá
áşááźáŽá¸ ááááŻáĄááşááąáŹ ááąááŹáá°ááŹá¸ááąáŹ ááąáŹáşááŽááťáŹá¸ááᯠáááşáážáŹá¸áááşááźá
áşáááşá
áááşááąáˇááťáşáá áşááŻá áŽáá˝ááş ááąá¸áááŻáˇáááˇáşáĄááťáááşáážááˇáş á áŹáááŻááŤáážáááąáŹ áĄááťáááşááśááááşáá áşááŻááŤáážááááşá á áŽáááşáĄááťáááşááᯠááťá˝ááşáŻááşáááŻáˇáĄááŻáśá¸ááźáŻáááş - ááťá˝ááşáŻááşáááŻáˇáááş multichat ááŤáááşáá°ááťáŹá¸á áážáąá¸áĄááťááŻáśá¸áááşááąáˇááťáşááťáŹá¸áááŻáˇ áá˝ážááşááźááťááşááťáŹá¸ááᯠááŹá¸áážááᏠáááşáá˝ááşááŹá¸ááąáŹ ááąáŹáşááŽááťáŹá¸á á áŹááŹá¸ááž hash ááťáŹá¸ááᯠáážááŻááşá¸áážááşáᏠáĄááťáááşááśááááşááᯠáááŻá¸ááźážááˇáşááźááşá¸ááŽáááŻáˇ áŚá¸áááşáá˝áŹá¸ááŤáááşá áááášáá°ááťáŹá¸áá˝ááş áá°ááŽááąáŹ hash áážááˇáş timestamp ááŤáážááááşáážáŹ ááŻáášáááážáááąáŹáşáááşá¸ áááşáá˝áąáˇáá˝ááş áááşá¸áááş áĄááźá˛áááşá¸áááŻááşááąá áááşáážááşáááááˇáşáĄáááŻááşá¸á áĄááąáŹááşá¸áĄá áŽáĄá áĽáşáá˝ááş áááşáá°ááźáŻááźááşá¸áĄáŹá¸ PHP áážááŻááşááąáŹááşáá˛áˇáááş - áážáŹá¸ááŤá¸ááąáŹááá ášá ááťáŹá¸áá˝ááş áá°ááŽááąáŹáááşááąáˇááťáşááᯠááąá¸áááŻáˇáááˇáşáĄááťáááşáááş ááá°ááŽááąáŹáĄááŻáśá¸ááźáŻáá°ááťáŹá¸ááźáŹá¸áá˝ááş ááá°ááŽááŤá á¤ááá ášá ááťáŹá¸áá˝ááşá ááťá˝ááşáŻááşáááŻáˇáááş áĄááťáááşááśááááşááᯠáááşá¸ááźááşáááş áááááááŻááşááᯠáá˝ááˇáşááźáŻáá˛áˇáááş - ááťáŹá¸ááąáŹáĄáŹá¸ááźááˇáş áá áşá áášáááˇáşáĄáá˝ááşá¸á ááŻáááááźáżááŹáážáŹ ááá°ááŽááąáŹáááşááśáá°áĄáá˝ááş ááá°ááŽááąáŹ áááşááąáˇááťáşááťáŹá¸á áĄá áŽáĄá áĽáşááźá áşáááşá áááŻáááŻáˇááąáŹáĄááźáąáĄááąááťááŻá¸áá˝ááşá ááá°ááŽááąáŹáĄááŻáśá¸ááźáŻáá°ááťáŹá¸áĄáá˝ááş ááá°ááŽááąáŹ áážáŹáá°áážáŻáá˝áąá¸ááťááşá ááŹááťáŹá¸áážááˇáşáĄáá° áĄáááŻááąáŹáşááŽáá áşááŻááᯠáááşááŽá¸áááş ááťá˝ááşáŻááşáááŻáˇáá˝ááˇáşááźáŻááŹá¸ááŤáááşá
áááşá¸ááąáŹááşá multichat áážá áááşááąáˇááťáşááťáŹá¸áĄááźáąáŹááşá¸ ááąááŹááᯠááŻáśá¸á á˝á˛áá°-áĄááşááťááşáááŻáˇ ááąá¸áááŻáˇáááşá á¤áá˝ááş áááşáá˝ááşá¸ááŹááąáŹ áááşááąáˇááťáşááťáŹá¸á ááážá áşááźááŻáˇáá˝ááşáĄááşášááŤáááşáá áşáᯠáá˝ááşááąáŤáşááŹáááşá ááŻáśáážááşáááşáááşáážáŻáá˝ááşá áĄááşááťááşáááŻáˇááąáŹááşááŹááąáŹáááşááąáˇááťáşááťáŹá¸ááᯠuser_local_id ááž ááźáŽá¸áááŻááşááąáŹáĄá áŽáĄá áĽáşááźááˇáş áááşá¸ááťááşá á˝áŹ áĄááááˇáşááąá¸áááşá áĄááşááťááşáĄááąáŹááşá¸ááž ááŻáśá¸á á˝á˛áá°-áĄááşááťááşáááŻáˇ áááşáá˝ááşá¸áááˇáş áááşááąáˇááťáşááťáŹá¸áááş á¤áĄááŻáśá¸áááşááąáŹ áá ášá ááşá¸ááᯠááŻáśá¸áážáŻáśá¸áá˝áŹá¸ááŤáááşá áá áşááťáááşáááşá¸áážáŹáááşá á ááşá¸áááşááźááşá¸ááĄáááşááźáąá áąáááşá áááşáááş áááşá¸áááŻáˇááᯠááťááşááźááşá á˝áŹáááşááąáŹááşáááŻááşá áąáááşá áááşá¸áááŻáˇáá˝ááş áá áşááŻááŻáááŻáážáŹáá˝áąááźáŽá¸ áĄáá áşááťáŹá¸ááᯠááąáŤááşá¸áááˇáşáááş áááŻáĄááşááŤáááşá
áááşáá˝ááşá¸ááŹá¸ááąáŹ á áŹáááŻááťáŹá¸ááᯠááááşá¸áááşá¸áááş áĄáá°á¸ááąááŹáá˝á˛áˇá ááşá¸ááŻáśááᯠááťá˝ááşáŻááşáááŻáˇ áĄááŻáśá¸ááźáŻááŤáááşá
áááşá¸áááş áĄáá˝ááşáĄá
áŹá¸á vector ááᯠáááŻááşá
áŹá¸ááźáŻáááşá
áá°áááŻááşá¸áááşáážáŹáá˛á
- áĄáá°á¸áĄá
áŽáĄá
áĽáşááťáŹá¸ááźááˇáş ááźáŽá¸á
ááşáááşáááŻááş áá˝á˛ááźáŹá¸ááźáááşá áĄáááŻááşá¸áá
áşááŻá
áŽáá˝ááş áĄáá˝ážááşá¸ááááşá¸ááťáŹá¸ááŤáážááááşá
ááźááşá
ááşááťáŹá¸áááŻá
áŽááŹá¸áááşá áááŻáááŻáˇááąáŹáá˝á˛áˇá
ááşá¸ááŻáśáážáááźááşá
ááşáááŻáážáŹáá˝áąáááşáĄááťáááşáá°áááşá
ááźááş.
binary áážáŹáá˝áąáážáŻááťáŹá¸á ááźááşá
ááşáá
áşááŻá áááşáááŻá¸ááźááşá¸ááᯠááźááşááąáŹááşáááŻááşáááşá
.
áááŻáˇááźáąáŹááˇáşá áĄááşááťááşááąáŹááşá¸ááž ááąááŹáĄáá áşáááŻáˇ ááąááŹáá˝ážá˛ááźáąáŹááşá¸áááşá¸ááᯠááťá˝ááşáŻááşáááŻáˇ áážáŹáá˝áąáá˝áąáˇáážááá˛áˇáááşá áááŻáˇááąáŹáş á¤ááŻááşáááşá¸á ááşáááş áááşáĄááąáŹáşááźáŹááźáŹ áĄááťáááşáá°áááźáŽá¸ á¤áááşááťáŹá¸áĄáá˝ááşá¸ ááťá˝ááşáŻááşáááŻáˇááĄááŻáśá¸ááźáŻáá°ááťáŹá¸áááş áĄááťááşá¸ááťááşá¸ á áŹááąá¸ááźááşá¸áĄááąáˇáĄáááᯠá á˝ááˇáşáá˝ážááşáááŻááşáááşáááŻááşááąá á¤ááŹááĄáá˝ááşá¸ áááşááąáˇááťáşááťáŹá¸ áááŻáśá¸áážáŻáśá¸á áąáááşáĄáá˝ááşá ááťá˝ááşáŻááşáááŻáˇáááş áĄá áŻáĄá ááşá¸áĄááąáŹááşá¸áážááˇáş áĄáá áşáážá áşááťááŻá¸ááŻáśá¸ááᯠáĄááŻáśá¸ááźáŻáááˇáş áĄááŻááşáĄá áŽáĄá ááşáááŻáˇ ááźáąáŹááşá¸ááŤáááşá
ááąááŹááᯠááťááşáĄáá˝á˛áˇáááşááťáŹá¸áážááˇáş áĄááŻáśá¸ááźáŻáá°áĄááşááťááşááťáŹá¸áááŻáˇ ááąá¸áážááşááŹá¸ááŤáááş (áááşá¸á
áá
áşááąáŹááşá¸áĄá ááŻáśáážááşááŻááşááąáŹááşáážáŻáá˝ááşáá˛áˇáááŻáˇ á
áŹááŹá¸-áĄááşááťááşáááŻáˇáááŻááşááŤ)á user-engine áááş chat-engine áááŻáˇ ááąáŹááşá¸áááŻááťááşááᯠproxy ááąá¸áááş - á¤ááąááŹáá˝ááş áĄááźáŻáĄáá°áááş á¤ááťááşááᯠááąáŤááşá¸á
ááşá¸ááźáŽá¸ááźá
áşáááş áááŻáˇáááŻááş áááŤáááşááźááşá¸áĄááąáŤáş áá°áááşááŤáááşá ááťááşááᯠáááąáŤááşá¸áááąá¸ááŤáá ááťááşáááşáĄááşááťááşáááş áááşááąáˇááťáşááᯠáá°áˇááŹááŹáá° áááąá¸áááŻááşáᲠáááşá¸áááŻááşááąáŹááşáážáŻáááş á
áŹááŹá¸áĄááşááťááşáá˝ááşáᏠááźá
áşááąáŤáşááŤáááşá ááťááşááᯠchat-engine áááŻáˇ ááąáŤááşá¸ááźáŽá¸ááŤáá áááşá¸áááş chat_local_id ááᯠáĄááŻáśá¸ááźáŻáá°-áĄááşááťááşáááŻáˇ ááźááşááąá¸áᏠáááşááśáá°áĄáŹá¸ááŻáśá¸ááś áááşááąáˇááťáşáááŻáˇááŤáááşá user-engine áááş data áĄáŹá¸ááŻáśá¸ááᯠtext-engine áááŻáˇ proxy ááąá¸áááş - áááŻáˇááźáąáŹááˇáş áá
áşááŻááŻááźá
áşáá˝áŹá¸ááŤáá áĄááşááťááşáĄááąáŹááşá¸áá˝ááş áááşáážá data áĄáŹá¸ááŻáśá¸ááᯠáĄááźá˛ááźááşáá°áááŻááşáááşááźá
áşáááşá text-engine áááş user_local_id ááᯠááźááşááąá¸áááşá áááşá¸áááş user-engine ááž ááááşá¸áááşá¸ááźáŽá¸ backend áááŻáˇ ááźááşáá˝áŹá¸áááşá

ááááşáĄááąááźááˇáşá áĄáá˝ááşáá°á¸ááźáąáŹááşá¸ááąá¸ááŻááşáááşá¸á
ááşáááş á¤áá˛áˇáááŻáˇááźá
áşááŻáśááááş- ááťá˝ááşáŻááşáááŻáˇáááş áĄááťááşá¸áážáŽá¸ááąáŹ áĄááŻáśá¸ááźáŻáá°áĄááşááťááşáážááˇáş ááťááşáĄááşááťááşáĄá
áŻáĄááąá¸ááťáŹá¸ááᯠááťáááşáááşááŤáááşá chat-engine áááş chat-members binlog áá
áşááŻááŻáśá¸ááᯠáááşááźáŽá¸ áĄáááşááąáŹáşááźá፠áĄá
áŽáĄá
ááşáĄáááŻááşá¸ proxying á
áááşáááşá ááťá˝ááşáŻááşáááŻáˇáááş ááąááŹááąáŹááşá¸ááᯠáá˝ážá˛ááźáąáŹááşá¸ááźáŽá¸ áá
áşááźááŻááşáááşá¸ááŻááşááąáŹááşááŹá¸ááąáŹ áĄá
áŻáĄááąá¸áážá
áşáᯠ(áĄááąáŹááşá¸áážááˇáş áĄáá
áş) ááᯠááá°áááŻááşááŤá ááťááşáááşáážáŹ á
áŹááŹá¸-áĄááşááťááşááž áĄááŻáśá¸ááźáŻáá°-áĄááşááťááşáááŻáˇ ááźáąáŹááşá¸ááźáŽá¸ proxying ááᯠááááşáááşááźá
áşáááşá
ááááşááťáŹá¸áááŻ
ááťááşá¸áááşáážáŻáĄáá áşááźáąáŹááˇáşá áĄááşááťááşááťáŹá¸á á á˝ááşá¸ááąáŹááşáááşáááŻááşá¸ááŹáážáŻáĄáŹá¸ááŻáśá¸ááᯠááźážááˇáşáááşááźáŽá¸ ááąááŹááŽáá˝ááşáážáŻáááŻááşáᏠááźáżááŹááťáŹá¸ááᯠááźáąáážááşá¸ááźáŽá¸ááźá áşáááşá ááᯠááťá˝ááşáŻááşáááŻáˇáááş áááşááąáˇááťáşááťáŹá¸áá˝ááş áĄááşášááŤáááşáĄáá áşááťáŹá¸ááᯠáĄááźááşáĄááąáŹááşáĄáááşááąáŹáşáááŻááşááŤááźáŽ (áááŻáĄááŹááᯠá áááşááŻááşááąáŹááşááąááźáŽááźá áşáááş- ááťá˝ááşáŻááşáááŻáˇáááş ááťááşááŤáááşáá° áĄááťáŹá¸ááŻáśá¸áĄááąáĄáá˝ááşááᯠáááŻá¸ááźážááˇáşáááŻááşáááşá áááşáááˇáşáááŻáˇááŹá¸ááąáŹáááşááąáˇááťáşááťáŹá¸ááᯠáážáŹáá˝áąáážáŻá áááşáááŻá¸ááŹá¸ááąáŹáááşááąáˇááťáşááťáŹá¸ááᯠá áááşáá˛áˇááźáŽá¸ ááŻáśá¸á á˝á˛áá°áá áşáŚá¸ááťážááş áááşááąáˇááťáşá áŻá áŻááąáŤááşá¸áĄááąáĄáá˝ááşáĄááąáŤáş áááˇáşáááşááťááşááᯠááźážááˇáşáááşááŹá¸áááş) .
ááŻáášááááąááááŻááşáᏠááźáąáŹááşá¸áá˛áážáŻááťáŹá¸áááş áĄáážááşááááşáááş ááźáŽá¸ááŹá¸áážáááşá ááźáŽá¸ááąáŹáˇ ááŤáᏠááźáŽá¸ááŹá¸áá˛áˇáĄáá˝á˛áˇáá áşáá˝á˛áˇáá˛áˇ ááŻááşáááŻááşá¸ááąáŤááşá¸ááźáąáŹááşááźáŹá¸á á˝áŹáá˛áˇ áá˝áśáˇááźááŻá¸áááŻá¸áááşáážáŻ áážá áşáá˝áąááᯠáĄááźá˛áááşá¸áááŻáááŻááŹáááŻááşáá°á¸áááŻááŹááᯠáááááźáŻá áąááťááşááŤáááşá chat-engine áážááˇáş user-engine áááŻáˇáááş áááşááąáˇááťáŻáśáˇáážáŻáĄáá˝ááş Huffman áá˛áˇáááŻáˇ áááşááąáŹááşá¸ááŹááşáááşá¸ááťáŹá¸áĄáŹá¸ááŻáśá¸áážááˇáşáĄáá° áááşáá˝ááşá¸ááŹááąáŹ á áŹááťáŹá¸áĄáá˝ááş Splay áá áşáááşááťáŹá¸áážááˇáş áá˝á˛áˇá ááşá¸ááŻáśáááş ááŻááşáááŻááşá¸ 20 áááşáááşá¸ááŤáááşá áááşá¸áááŻáˇááᯠ3 ááĄáá˝ááşá¸ developer 10 áŚá¸áááąá¸ááŹá¸áá˛áˇáááş (áááŻáˇááąáŹáşáááşá¸áááŻáážááşááŹá¸ááŹá¸áááˇáşáááşá - ááášááŹáˇááťááşááŽááśááťáŹá¸ ).
áááŻáˇáĄááźááşá ááŹááŹáĄááąáĄáá˝ááşááᯠáážá áşááááŻá¸áááˇáşáĄá áŹá¸á ááťá˝ááşáŻááşáááŻáˇáááş áááşá¸áááŻáˇááĄááąáĄáá˝ááşááᯠáááşáááşááťážáąáŹáˇááťáá˛áˇáááş - áááŻáĄá፠áĄááŻáśá¸ááźáŻáá°áĄááşááťááşáážááˇáş ááťááşáááşáĄááşááťááşáááş ááŻááşáááŻááşá¸áááŻááşááŹá ááş 500 áá˝ááş ááąáááŻááşááťááşáážáááźáŽá¸ áĄá áŽáĄá ááşáĄáá áşáá˝ááş áááşááąáŹááşáááşááąáᏠááťááşáááşá¸ááŤáááşá ááťá˝ááşáŻááşáááŻáˇáááş á ááşááááááŹáĄáá˝ááş áá˝áąáĄááźáąáŹááşáĄááźáŹá¸ á áŻááąáŹááşá¸áá˛áˇáááş - áá áşáážá áşááťážááş ááąáŤáşáᏠ5 áááşá¸ + $ 750 áááşáááşáážáŻáĄááŻáśá¸á ááááşááťáŹá¸á
áĄáážáŻááşáá˝áąá¸ááŻáśá¸áážááˇáş áĄááźáŽá¸á áŹá¸ááźáżááŹááťáŹá¸áĄáá˝ááş áĄááąáŹááşá¸ááŻáśá¸ááźáąáážááşá¸áááşá¸ááťáŹá¸ááᯠáážáŹáá˝áąáááş ááťá˝ááşáŻááşáááŻáˇ ááźááŻá¸á áŹá¸ááąááŤáááşá ááťá˝ááşáŻááşáááŻáˇáá˝ááş áááşá¸áááŻáˇááťáŹá¸á á˝áŹáážááááş - áááŻáˇááźáąáŹááˇáş ááťá˝ááşáŻááşáááŻáˇáááş ááąááŹááąáˇá áşááŹááážá áĄáááşáĄááťááşá¸áážáááąáŹ developer ááťáŹá¸ááᯠáážáŹáá˝áąááąááŤáááşá áĄáááşá áááşáááş áááŻáá˛áˇáááŻáˇááąáŹ ááźáżááŹááťáŹá¸ááᯠááźáąáážááşá¸áááşá¸ááᯠáážá áşáááşááźáŽá¸ áĄááşááááŻááŽáááşááťáŹá¸áážááˇáş ááąááŹáá˝á˛áˇá ááşá¸ááŻáśááťáŹá¸ááᯠááąáŹááşá¸á á˝áŹ áááşááťá˝ááşá¸ááŤáá áĄáá˝á˛áˇáá˝ááş ááŤáááşáááş áááˇáşáĄáŹá¸ ááááşááąáŤáşáĄááşááŤáááşá ááťá˝ááşáŻááşáááŻáˇááś áááşáá˝ááşááŤá , ŃŃĐžĐąŃ ŃСнаŃŃ ĐżĐžĐ´ŃОйнОŃŃи á
á¤ááŹááşáááşá¸áááş áááˇáşáĄááźáąáŹááşá¸áááŻááşááąáŹáşáááşá¸á áĄááźáśááźáŻááťááşááťáŹá¸ááᯠááťá˝ááşáŻááşáááŻáˇáááşáááŻá¸ááŹá¸ááźáąáŹááşá¸ ááťáąá¸áá°á¸ááźáŻá áááááźáŻááŤá áá°áááşááťááşá¸áá
áşááąáŹááşáĄááźáąáŹááşá¸ááźáąáŹááźááŤá á áĄáááşá áá°áááş á
ááşá¸áááşááŹáááᯠáĄáąáŹááşááźááşá
á˝áŹ ááźáŽá¸ááźáąáŹááşááŤá áááşáááş áĄáááŻááŻáá˝áą 100 áá°áááşááᯠááážááááşááźá
áşáááşá
source: www.habr.com
