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