Профессиональная конференция разработчиков высоконагруженных систем

Запуск заданий по расписанию на бэкенде

Бэкенд, теория программирования

Доклад принят в программу конференции

Мнение Программного комитета о докладе

Кажется, ну что такого — запустить выполнение задачи по крону? Но вместе с Андреем вы сможете копнуть на полный штык и рассмотреть длинный путь от запуска задачи на локальной машине до исполнения в распределенной среде. Хорошая возможность систематизировать свои знания.

Целевая аудитория

1. Middle backend-разработчики. Это люди, которые уже решали определённые задачи и для которых описываемый шаблон может быть знаком. Ассортимент решений, представленный в докладе, позволит им расширить кругозор и в будущем принимать правильные решения при проектировании новых модулей и систем. 2. Senior backend-разработчики. Это категория людей, которые могли сталкиваться уже в своём опыте более чем с одним из рассматриваемых вариантов реализации. Им пригодится разложенная по полочкам информация. Плюс они смогут расширить свой кругозор за счёт решений из других языков программирования, которыми они ещё не пользуются.

Тезисы

Доклад посвящён паттерну запуска задач по расписанию на бэкенде.

Мы подробно рассмотрим сам паттерн, какие проблемы он решает и варианты его реализации на Go, Python и Java. Самые часто возникающие ситуации — это пакетная обработка большого количества запросов и ретраи. Я выделяю как минимум четыре разных подхода к реализации: в памяти, персистентный, встроенный во фреймворки и внешний.

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

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

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

Андрей Зарубин

Райффайзенбанк

19 лет в IT. Вся карьера – около Java: Desktop, Java EE, микросервисы.
В разные годы создавал банковское ПО, высоконагруженные трейдинговые платформы и геоинформационные системы. Писал код, руководил командами, проектами и департаментами. Внедрял Agile-, DevOps- и другие практики. Сертифицирован по Java, Cloud, Agile и PRINCE2. Обожает хакатоны и инженерную культуру.

Райффайзенбанк

Райффайзен Банк — часть австрийской банковской группы Raiffeisen Bank International; работает в России с 1996 года и входит в тройку самых надежных российских банков по версии Forbes. В команде банка более 3000 IT-специалистов, которые работают над продуктами будущего и развивают финтех в России. И не любят легаси.

Видео