Вернуться к списку проектов

Система фоновой обработки с оптимизацией часовых поясов

Ruby
Ruby on Rails
Go
PostgreSQL
Redis
Sidekiq
Elasticsearch
CircleCI
Datadog
Docker

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

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

Наша команда провела детальный анализ архитектуры и выявила критические недостатки: отсутствовала логика планирования с учётом часовых поясов, система групповой обработки данных была неэффективной и создавала узкие места, механизмы восстановления после сбоев были примитивными, мониторинг не обеспечивал достаточную видимость для проактивного управления, архитектура не поддерживала требования различных европейских и американских регулятивных систем.

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

Обязанности

  • Спроектировал и реализовал масштабируемую систему выполнения фоновых задач с учётом часовых поясов, обрабатывающую миллионы проводок ежедневно в европейских и американских регионах
  • Создал адаптивный механизм групповой обработки данных, который динамически выделяет необходимые ресурсы и порождает дополнительные потоки для выполнения фоновых задач, обеспечив совместимость между Sidekiq и новой системой выполнения
  • Разработал сложную логику повторных попыток с экспоненциальными стратегиями отсрочки для обеспечения надёжной обработки даже во время сбоев инфраструктуры
  • Реализовал комплексные решения мониторинга с Datadog, которые отслеживают паттерны выполнения по регионам и предоставляют раннее предупреждение о потенциальных узких местах
  • Сотрудничал с заинтересованными сторонами бизнеса для обеспечения соответствия системы сложным регулятивным требованиям в различных европейских и американских рынках

Ключевые достижения

  • Повысил пропускную способность обработки при снижении инфраструктурных расходов благодаря оптимизированным алгоритмам групповой обработки данных
  • Клиенты перестали наблюдать неконсистентные данные в рабочее время, а уведомления стали приходить в их рабочие часы
  • Обеспечил стабильную работу системы с возможностью обработки десятков миллионов записей на клиента благодаря адаптивному управлению ресурсами и многопоточности
  • Система позволяла динамически изменять количество необходимых ресурсов для каждого клиента в отдельности при работе между европейскими и американскими часовыми поясами
  • Спроектировал систему с такой масштабируемостью, что она легко адаптировалась к увеличению объёма обработки по мере расширения компании на американский рынок
Система фоновой обработки с оптимизацией часовых поясов

Компания

NDA logo

NDA

Роль

Разработчик основного функционала

Продолжительность

Часть работы с 10/2022 - 08/2024