Мы с важной новостью: с 28 февраля 2025 года сервис Хабр Фриланс прекратит свою работу.

Купить услуги можно до 28 февраля 2025, но пополнить баланс уже нельзя. Если на вашем счете остались средства, вы можете потратить их на небольшие услуги — служба поддержки готова поделиться бонусами, на случай, если средств немного не хватает.
R50 660e650ba1cadf19d642f41ba5ad8434
Outstaff manager

MoonHub

Добавлено 02 авг 2023 в 11:26
  1. О проекте:
Платформа для сбора данных по торгам с криптобирж, анализа данных и построения графиков, ранжирования, принятия решений на основе результатов аналитических вычислений в режиме реального времени.

MoonHub собирает и объединяет новостные данные по криптовалюте, с возможностью в режиме реального времени просматривать всю информацию по криптовалюте на одном экране, от постов в твиттере до влияния их на капитализацию и построение японских свечей.

  1. Стек технологий:
NodeJS, React, PostgreSQL, Redis, Tarantool, NATS, AWS, Docker

  1. Задача
    Клиент разбирался в криптовалюте и имел связи в мире криптобирж. Он понимал, что существующие продукты не позволяют получить всю информацию в одном месте и пришел к нам с идеей информационного ресурса, который будет агрегировать всю открытую информацию по криптовалютам. А благодаря функционалу соц. сетей можно не только видеть аналитическую информацию, но и обсуждать ее с другими пользователями ресурса.
  1. Процесс работы:
  1. Разработка ТЗ. На этом этапе идея была оформлена в описание технической реализации. Были разработаны математические модели и изучены интеграции со сторонними системами.
  2. Разработка дизайна
  3. Разбивка работы на этапы, формирование более детальных спецификаций в рамках каждого этапа, в том числе уточнение следующих этапов на основе обратной связи и тестирование предыдущих

  1. Процесс работы:
  1. В рамках каждого отдельного этапа была произведена разработка, тестирование и запуск в тестовую эксплуатацию части проекта.
  2. Бета-тестирование функционала на предрелизном окружении, внесение изменений в UX, математические модели, отсев ненадежных источников данных и формирование пула работ на следующий этап

  1. Результаты:

Мы запустили первую в мире интеграционную платформу сообщества с уникальным акцентом на цифровые активы. В процессе было решено множество проблем с получением, валидацией и обработкой данных из внешних источников, откорректированы математические модели, также было проведено нагрузочное тестирование и тестирование безопасности приложения.


Немного технических деталей: Мы реализовали несколько типов хранилищ данных:

  • краткосрочное копирующее для быстрого доступа к текущим расчетам
  • краткосрочное оперативное (до 48 часов) с совмещением хранилищем и сервером приложений
  • долгосрочное на основе временных рядов с возможностью настраивать время хранения и сжатия данных
  • бд общего назначения для хранения конфигурации, пользователей, результатов расчетов
Tarantool по веб сокетам получал данные из различных источников, раскладывал их по хранилищу и производил расчет зависимых значений, фоновые задачи обрабатывали полученные данные по цепочке расчетов и плавающему временному окну и складывали результаты вычислений как в текущее хранилище, так и во внешние хранилища. Была применена кластеризация хранилища.


Для пользователей был разработан промежуточный сервис, который принимал запросы на подписку на изменение значений, агрегировал их и подписывался на события в оперативном хранилище.


Кроме того, было реализовано несколько сервисов по обслуживанию хранилища временных рядов: первичное заполнение, очистка, сжатие, поиск и заполнение пустот в случае сбоев в наполнении данных.


В результате пользователь получал обновляемые в режиме реального времени японские свечи, агрегированные курсы валют, аналитическую информацию по объемам торгов по биржам, активам, всему рынку в разрезе от 5 минут до 2х недель с глубиной просмотра информации до 10 лет


Применение различных типов хранилищ позволило выбирать наиболее оптимальные технологии для хранения различных данных - от меняющихся несколько раз в секунду и вычислениями имеющими прямой доступ к данным и до “холодных” хранилищ для исторических данных, которые не меняются после их получения



9905c99f76