2014-12-04 3 views
0

jruby와 java의 com.rabbitmq.client를 사용하여 rabbitmq를 통해 작업자 프로세스에 대한 rpc 호출을 작성합니다. 통화가 완료되는 데 최대 8 시간이 걸릴 수 있습니다. RPC를 사용하는 것은 잘못된 것처럼 보이지만 근본적으로 그냥 술집/잠깐이라서 실제로 합당한 일인지 궁금합니다.rabbitmq를 사용하는 8 시간 RPC 호출입니다. 그것은 미친 소리지만, 거기에 문제가 있습니까?

답변

0

독점적 인 replyto/callback 대기열을 사용하고 있다고 가정합니다. 이 접근법의 유일한 문제점은 생산자가 다운되면 대기열이 사라지고 응답이 손실된다는 것입니다. 더 나은 방법은 작업 상태/응답을 기록하는 DB를 사용하고 이해 관계자가 가입 할 수있는 작업 상태 변경시 이벤트를 실행하는 것입니다. 나는 일반적으로 그러한 장기 실행 작업에 대해 어떠한 방식으로도 연결하지 않을 것입니다.