Apache Flink лучшие практики - когда запускать отдельные задачи - PullRequest
0 голосов
/ 22 апреля 2020

Что касается передового опыта и эффективности в рамках Flink, каковы рекомендации, когда следует разделить аналитику на несколько задач

Например, если в качестве источника данных указан один топи c в Кафке в качестве источника данных. Если бы было много простых операций, которые должны были быть выполнены над потоком, таких как: если какое-то значение больше, чем x, или если x & y et c. В какой момент вы перестанете тратить больше правил на одну и ту же задачу и начнете выполнять их параллельно?

Есть ли официальные рекомендации для этого?

1 Ответ

1 голос
/ 27 апреля 2020

Трудно дать общую рекомендацию. С точки зрения производительности имеет смысл вкладывать как можно больше в одну работу.

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

Еще одно измерение, о котором нужно думать, это размер состояния. Это связано с перезапуском и частотой обновления (пункт выше). Если размер состояния становится слишком большим, перезапуск этого задания монстра занимает много времени, что будет неэффективно, если вы коснетесь только небольшой части кода.

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

...