Я исследую Флинк больше недели.Мы потребляем события от Kafka и хотим, чтобы события принадлежали конкретному объекту, идентификатор которого необходимо обработать в порядке времени события.Пока мое исследование говорит мне, что я должен использовать keyby и timeWindows, мое понимание верно?
Другой вопрос. Когда один менеджер задач выходит из строя, только те события, которые будут принадлежать этому диспетчеру задач, будут остановлены, пока не появится диспетчер задач?Знает ли механизм контрольных точек события, которые не обрабатываются, как он будет запрашивать у Kafka эти события?
Вопрос с вариантом использования ниже
В CallCenter агентбудет принимать звонки и перейдет в разные состояния.Для каждого действия агента, например входа в систему, ожидания, занятости и т. Д., Мы получаем событие агента этого действия как состояние через Kafka.Требование состоит в том, что мы должны обрабатывать события в порядке по агенту, мы не можем обрабатывать событие ожидания агента до события входа в систему.Нам нужно обработать их для того, чтобы одновременно масштабировать.
В кластере Flink с параллельным процессом мы не должны в конечном итоге обрабатывать информацию об агенте в разных разделах / задачах с плохим состоянием агента.Мой вопрос заключается в том, что keyBy agentId будет делить поток на подпотоки и все время обрабатывать их в указанном разделе, таким образом сохраняется порядок обработки событий.
Кроме того, другой вопрос, если существует диспетчер исключений / задачесли перейти к разделу, который обрабатывает данные конкретного агента, то, как Флинк знает, запрашивать только те события агента после восстановления.