
Тема выпуÑкной квалификационной работы: Â«Ð ÐµÐ°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð°Ñинхронного Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ñобытий в выÑоконагруженном раÑпределенном веб-приложении». Ð”Ð°Ð½Ð½Ð°Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ð° поÑвÑщена реализации отложенного Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ñобытий в большом, выÑоконагруженном и значимом Ð´Ð»Ñ Ñ€ÑƒÐ½ÐµÑ‚Ð° проекте — ОдноклаÑÑники, на оÑнове хорошо показавших ÑÐµÐ±Ñ Ð¿Ñ€Ð°ÐºÑ‚Ð¸Ðº из отраÑли. Задачи, которые решалиÑÑŒ в ходе работы: Ðнализ ÑущеÑтвующих решений. ИÑÑледовалиÑÑŒ как внешние конкуренты, так и конкуренты во внутренней кодовой базе ОдноклаÑÑников. Ð ÐµÐ°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ñвоего решениÑ, интегрированного в кодовую базу и инфраÑтруктуру ОдноклаÑÑников. ЗапуÑк Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð½Ð° продакшене. Работа проведена в ООО «Mail.ru Group». Было произведено командное теÑтирование на разных ÑтадиÑÑ… запуÑка разработанного решениÑ. Получены результаты в виде ÑтатиÑтики по иÑпользованию Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿Ñ€Ð¾Ñов пользователей Ñоциальной Ñети. Ð’ результате было разработано решение, которое иÑпользует Ñффективное хранилище очередей Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ´Ð°Ñ‡Ð¸ информации между узлами раÑпределенной ÑиÑтемы, хранилище данных, оÑнованное на Cassandra 2.0 Ð´Ð»Ñ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð´Ð¾Ð³ÐµÐ½ÐµÑ€Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ñ… Ñериализаторов данных. ПолучившееÑÑ Ñ€ÐµÑˆÐµÐ½Ð¸Ðµ решает проблему Ñ Ñериализацией / деÑериализацией данных, когда верÑии передаваемых клаÑÑов на разных узлах ÑиÑтемы разные, а также превоÑходит Ñтарых внутри проектных конкурентов, главным образом, Ñ Ñ‚Ð¾Ñ‡ÐºÐ¸ Ð·Ñ€ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ñти и удобÑтва иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚Ñ‡Ð¸ÐºÐ°Ð¼Ð¸.
The subject of the graduate qualification work is implementation of asynchronous event execution in high-loaded distributed web-application. The given study is denoted to an implementation of a delayed event execution in Odnoklassniki [1] – a huge, high-loaded and fundamental project to Runet. The solution was developed based on the best-practices in industry. The paper set following goals: Analyzing of the existing solutions to a problem. Both external competitors and competitors in the internal code base of Odnoklassniki were investigated; Carring out the solution implementation inside the infrastructure of Odnoklassniki; Launching of the solution in production. The work was fulfilled inside Ltd «Mail.ru Group». The team testing of a developed solution on different steps of its lifecycle was carried out. The results were obtained in the form of statistics on using the solution to handle social network users requests. As a result, the data storage based on Cassandra 2.0 and used for an efficient queue storage to transfer information between the nodes of a distributed system was applied in order to store data serializers. It uses code generation for convenient serialization / deserialization of information, transmitted to perform events. The developed solution also solves the problem of data serialization / deserialization, when the versions of the transmitted classes on different nodes of the distributed system are different. It also beats old inner solutions, mainly, in terms of performance and convenience of usage for developers.
delayed event execution, execution, ÑаÑпÑÐµÐ´ÐµÐ»ÐµÐ½Ð½Ð°Ñ ÑиÑÑема, оÑеÑÐµÐ´Ñ ÑообÑений, ÑоÑиалÑÐ½Ð°Ñ ÑеÑÑ, code generation, asynchronous event, distributed system, event queue, вÑÑоконагÑÑÐ¶ÐµÐ½Ð½Ð°Ñ ÑиÑÑема, кодогенеÑаÑиÑ, ÑеÑиализаÑиÑ, serialization, highload, social network, веб-пÑиложение, web-application, оÑложенное вÑполнение ÑобÑÑий, аÑÐ¸Ð½Ñ Ñонное вÑполнение ÑобÑÑий
delayed event execution, execution, ÑаÑпÑÐµÐ´ÐµÐ»ÐµÐ½Ð½Ð°Ñ ÑиÑÑема, оÑеÑÐµÐ´Ñ ÑообÑений, ÑоÑиалÑÐ½Ð°Ñ ÑеÑÑ, code generation, asynchronous event, distributed system, event queue, вÑÑоконагÑÑÐ¶ÐµÐ½Ð½Ð°Ñ ÑиÑÑема, кодогенеÑаÑиÑ, ÑеÑиализаÑиÑ, serialization, highload, social network, веб-пÑиложение, web-application, оÑложенное вÑполнение ÑобÑÑий, аÑÐ¸Ð½Ñ Ñонное вÑполнение ÑобÑÑий
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 0 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Average | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Average |
