Details
Title | Реализация асинхронного выполнения событий в высоконагруженном распределенном веб-приложении: выпускная квалификационная работа магистра: направление 09.04.04 «Программная инженерия» ; образовательная программа 09.04.04_01 «Технология разработки и сопровождения качественного программного продукта» |
---|---|
Creators | Тузов Григорий Дмитриевич |
Scientific adviser | Воинов Никита Владимирович |
Other creators | Локшина Екатерина Геннадиевна |
Organization | Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и технологий |
Imprint | Санкт-Петербург, 2020 |
Collection | Выпускные квалификационные работы; Общая коллекция |
Subjects | отложенное выполнение событий; асинхронное выполнение событий; сериализация; высоконагруженная система; распределенная система; веб-приложение; очередь сообщений; социальная сеть; кодогенерация; delayed event execution; asynchronous event; execution; serialization; highload; distributed system; web-application; event queue; social network; code generation |
Document type | Master graduation qualification work |
File type | |
Language | Russian |
Level of education | Master |
Speciality code (FGOS) | 09.04.04 |
Speciality group (FGOS) | 090000 - Информатика и вычислительная техника |
Links | Отзыв руководителя; Рецензия; Отчет о проверке на объем и корректность внешних заимствований |
DOI | 10.18720/SPBPU/3/2020/vr/vr20-907 |
Rights | Доступ по паролю из сети Интернет (чтение, печать, копирование) |
Record key | ru\spstu\vkr\7178 |
Record create date | 7/23/2020 |
Allowed Actions
–
Action 'Read' will be available if you login or access site from another network
Action 'Download' will be available if you login or access site from another network
Group | Anonymous |
---|---|
Network | Internet |
Тема выпускной квалификационной работы: «Реализация асинхронного выполнения событий в высоконагруженном распределенном веб-приложении». Данная работа посвящена реализации отложенного выполнения событий в большом, высоконагруженном и значимом для рунета проекте — Одноклассники, на основе хорошо показавших себя практик из отрасли. Задачи, которые решались в ходе работы: Анализ существующих решений. Исследовались как внешние конкуренты, так и конкуренты во внутренней кодовой базе Одноклассников. Реализация своего решения, интегрированного в кодовую базу и инфраструктуру Одноклассников. Запуск решения на продакшене. Работа проведена в ООО «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.
Network | User group | Action |
---|---|---|
ILC SPbPU Local Network | All |
|
Internet | Authorized users SPbPU |
|
Internet | Anonymous |
|
Access count: 24
Last 30 days: 0