Ответ 1
Добавление к тому, что объяснил @Chiron
"parallelism hint" используется в шторме для параллелизации текущей топологии шторма
Фактически в шторме термин parallelism hint
используется, чтобы указать начальное число исполнителей (потоков) компонента (носик, болт), например
topologyBuilder.setBolt("green-bolt", new GreenBolt(), 2)
В приведенном выше заявлении говорится о том, что шторм выделяет 2 потока исполнителей (это может быть изменено в течение времени выполнения). Опять
topologyBuilder.setBolt("green-bolt", new GreenBolt(), 2).setNumTasks(4)
setNumTasks(4)
указывает на выполнение 4 связанных задач (это будет одинаково на протяжении всей жизни топологии). Таким образом, в этом случае каждый штурм будет выполнять две задачи для каждого исполнителя. По умолчанию количество заданий устанавливается таким же, как количество исполнителей, т.е. Storm будет запускать одну задачу на поток.
Было бы целесообразно сделать подсказку parallelism настолько большой, насколько это возможно, чтобы ваши топологии были распараллелены как можно больше
Одна клавиша , чтобы отметить, что если вы намерены запустить более одного задания для каждого исполнителя, это не увеличивает уровень parallelism. Поскольку исполнитель использует один единственный поток для обработки всех задач, i.e задачи выполняются последовательно на исполнителе.
Цель настройки более 1 задачи для каждого исполнителя заключается в том, что можно изменить количество исполнителей (потоков) с использованием механизма повторной балансировки во время выполнения (помните, что количество задач всегда одинаково на протяжении всего жизненного цикла топологии), пока топология все еще работает.
Увеличение числа рабочих (отвечающих за запуск одного или нескольких исполнителей для одного или нескольких компонентов) также может дать вам преимущество в производительности, но это также относительное, как я нашел из это обсуждение, где nathanmarz говорит
У большего числа рабочих может быть более высокая производительность, в зависимости от того, где находится ваше узкое место. У каждого работника есть один поток, который передает кортежи на соединения 0mq для передачи другим работникам, поэтому, если вы испытываете недостаток в процессоре, и каждый работник имеет дело с большим количеством кортежей, больше работников, вероятно, будет чистить вашу лучшую пропускную способность.
Таким образом, в принципе нет определенного ответа на этот вопрос, вы должны попробовать другую конфигурацию, основанную на вашей среде и дизайне.