문제

4 개의 UNIX 노드에서 분산 환경에서 폭풍 토폴로지가 실행됩니다.

메시지를받은 다음 원시 메시지를 구문 분석하고 객체를 만들 수있는 ParseBolt로 전달하는 JMSSPOUT을 갖습니다.

대기 시간을 측정하는 데 도움이되는 JMSSPOUT은 현재 시간을 값으로 방출 한 다음 Parsebolt 가이 시간을 수신하면 현재 시간을 다시 얻을 수 있으며 대기 시간으로 차이를 취합니다.

이 접근법을 사용하여 나는 오른쪽에서 소리가 들리지 않는 200+ ms를보고 있습니다.누구든지 왜 이것이 왜 그렇게 될지도 모르는 아이디어가 있습니까?

도움이 되었습니까?

해결책

아마도 스레딩 문제 일 것입니다.폭풍우는 모든 스파우트에 대해 동일한 스레드를 사용합니다. queedtule () 호출 및 튜플이 다음 () 호출이 끝날 때까지 처리되지 않습니다.다음과 같은 매우 엄격한 루프가 있습니다. justle () 메서드를 반복적으로 호출하고 적어도 짧은 () 구현에서 적어도 짧은 수면을 넣지 않으면 많은 사이클을 소비 할 수 있습니다.

수면 (10)을 추가하고 다음 튜플 만 ()에만 방출하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top