
Системы потоковой обработки данных используются в сценариях, не терпящих больших задержек, такие как:
- проведение банковских транзакций;
- выявление мошенничества и атак на инфраструктуру;
- ценообразование поездок на такси в зависимости от спроса;
- обновление рекомендаций и индексов поисковой системы во время пользования;
- отслеживание горячих тем в социальных сетях.
Нагрузка на систему обработки потоковых данных подвержена колебаниям. Например, количество заказов возрастает в преддверии и во время праздников. В таких случаях требуется увеличение вычислительных мощностей системы путем добавления дополнительных узлов в кластере или подключения дополнительной памяти.
Безостановочное ремасштабирование системы — один из больших вызовов потоковой обработки данных. Неприятно представить себе сценарий, в котором и так возрастают задержки в системе под увеличенной нагрузкой, и система еще и сама приостанавливается на реконфигурацию.
В докладе описывается эволюция от классического алгоритма Чанди — Лампорта для консистентного захвата состояния распределенной системы до механизмов отказоустойчивости и безостановочного ремасштабирования распределенных систем обработки потоковых данных. Также приводятся нерешенные проблемы эластичности систем обработки потоковых данных.