Авторизация
Сброс пароля
Разработка высоконагруженного сервиса по парсингу социальных сетей
Заказчик: Бизнес заказчика построен на анализе данных в социальных сетях (группы, сообщения, репосты, лайки и прочее)
Страница кейса/результат: https://tektosoft.ru/portfolio/highly-loaded-service-parsing-social-networks/
Клиент обратился к нам после того, как система перестала справляться с обработкой данных: сервера отказывали в обслуживании при превышении нагрузки в 50 одновременных пользователей. От нас требовалось повысить мощность системы и взять на себя технические работы по развитию проекта на основе roadmap
1. Вводная задача от заказчика, проблематика, цели
Цель проекта
Сделать процесс анализа данных в социальной сети простым и понятным
Задачи проекта
Создание инструмента аналитики данных:
- Сделать так, чтобы текущее решение (созданное второй командой) заработало при нагрузках более 50 пользователей
- После вывода системы в рабочий режим продолжить развивать систему по согласованному с заказчиком Roadmap
2. Описание реализации кейса и творческого пути по поиску оптимального решения
Ход проекта состоял из нескольких этапов:
Документация
Провели реверсивный инжиниринг и создали техническую документацию на проект, которой не было у заказчика
Разработка архитектуры
Разработали новую архитектуру программы и серверов, которая позволяла неограниченно масштабировать программу
Разработка плана переноса кода
Разработали план переноса кода со старой архитектуры на новую в соответствии с техническим заданием, которое было к тому моменту готово и осуществили переезд
Beta-тестирование
Запустили beta-тестирование системы на 1 сервере на 100 лояльных пользователях заказчика. Система успешно справилась с beta-тестированием
Тестирование
Во время тестирования мы сделали замеры нагрузок во время тестирования. Рассчитали предполагаемую нагрузку при выводе на 10 000 человек и подобрали необходимый парк серверов по техническим характеристикам, который, с одной стороны, решал задачу технической нагрузки, с другой, был выгодным для заказчика.
Развернули парк за 2 недели и запустили на всех пользователях за 2 недели
Дальнейшее развитие
Параллельно настроили систему Grafana для мониторинга состояния каждого сервера. Мониторинг снимал более 100 метрик по каждому серверу в реальном времени.
Настроили Telegram-уведомления о подозрительном поведении сервера. Если какая-то из характеристик приближалась к критическому порогу, мы получали предварительное уведомление в Telegram.
Через месяц по результатам анализа мониторинга мы подкорректировали парк серверов, внеся изменения в аппаратную часть. Изменения были направлены, прежде всего, на снижение стоимости серверов, во вторую очередь – на повышение производительности.
Параллельно с этим мы разрабатывали и внедряли новые функциональные модули согласно планам клиента.
3. Результаты сотрудничества
Высоконагруженный сервис по парсингу социальных сетей
Особенности:
- Система работает на 7 собственных серверах
- Самые мощные сервера оснащены процессорами суммарно в 40 потоков и 256 Гб ОЗУ
- Возможность горизонтального масштабирования под нагрузкой
- Логика обхода блокировки серверов
- 900 статистических анализов в день
- В случае выхода из строя одного из серверов второй продолжает обслуживать запросы клиентов
- Постоянный мониторинг каждого сервера с автоматическими уведомлениями о критических событиях
- За сутки обрабатывается в реальном времени порядка 500-800 Гб данных
Мои задачи
Мониторинги
Популярные люди
4. Заключение
Сервис отвечает всем требованиям Заказчика и практически бесперебойно справляется с большими нагрузками и объёмами. Мы продолжаем развивать данный проект.