Вопрос

У меня есть штормовая топология, работающая в распределенной среде через 4 узла Unix.

У меня есть JMSSPOUT, который получает сообщение, а затем пересылает его на параметр Parsebolt, который будет разбирать необработанное сообщение и создать объект.

Чтобы помочь измерить задержку, мой JMSspout испускает текущее время в качестве значения, а затем, когда Parsebolt получает это, он снова получит текущее время и снижает разницу в качестве задержки.

Используя этот подход, я вижу 200+ мс, что вообще не звучит прямо.У кого-нибудь есть идея в отношении того, почему это может быть?

Это было полезно?

Решение

Это, вероятно, проблема в потоке.Storm использует одну и ту же нить для всех вызовов Nefout NextTuple (), и Emplicied Teblesed не обрабатываются до завершения вызова NextTuple ().Также есть очень плотная петля, которая несколько раз вызывает метод NextTuple (), и он может потреблять много циклов, если вы не ставите хотя бы короткий сон в реализации NextTuple ().

Попробуйте добавить сон (10) и излучаю только один кортеж за NementTuple ().

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top