Powered by OpenAIRE graph
Found an issue? Give us feedback
addClaim

This Research product is the result of merged Research products in OpenAIRE.

You have already added 0 works in your ORCID record related to the merged Research product.

Реализация Ð°ÑÐ¸Ð½Ñ Ñ€Ð¾Ð½Ð½Ð¾Ð³Ð¾ выполнения событий в высоконагруженном распределенном веб-приложении

выпускная квалификационная работа магистра

Реализация Ð°ÑÐ¸Ð½Ñ Ñ€Ð¾Ð½Ð½Ð¾Ð³Ð¾ выполнения событий в высоконагруженном распределенном веб-приложении

Abstract

Тема выпускной квалификационной работы: «Реализация асинхронного выполнения событий в высоконагруженном распределенном веб-приложении». Данная работа посвящена реализации отложенного выполнения событий в большом, высоконагруженном и значимом для рунета проекте — Одноклассники, на основе хорошо показавших себя практик из отрасли. Задачи, которые решались в ходе работы: Анализ существующих решений. Исследовались как внешние конкуренты, так и конкуренты во внутренней кодовой базе Одноклассников. Реализация своего решения, интегрированного в кодовую базу и инфраструктуру Одноклассников. Запуск решения на продакшене. Работа проведена в ООО «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.

Keywords

delayed event execution, execution, распределенная система, очередь сообщений, социальная сеть, code generation, asynchronous event, distributed system, event queue, высоконагруженная система, кодогенерация, сериализация, serialization, highload, social network, веб-приложение, web-application, отложенное выполнение событий, Ð°ÑÐ¸Ð½Ñ Ñ€Ð¾Ð½Ð½Ð¾Ðµ выполнение событий

  • BIP!
    Impact byBIP!
    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
Powered by OpenAIRE graph
Found an issue? Give us feedback
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).
BIP!Citations provided by BIP!
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.
BIP!Popularity provided by BIP!
influence
This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
BIP!Influence provided by BIP!
impulse
This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network.
BIP!Impulse provided by BIP!
0
Average
Average
Average
Upload OA version
Are you the author of this publication? Upload your Open Access version to Zenodo!
It’s fast and easy, just two clicks!