2014-12-02 2 views
2

일부 모니터 시스템이 메시지 제거를 허용 할 때까지 대기열에서 메시지를 제거하지 않고 노드간에 메시지를 읽고 쓰는 브로커리스 패턴이 필요합니다.zeromq 노드간에 메시지 버퍼를 생성합니다.

하나의 게시자 노드가 네트워크에서 대기중인 메시지가 사라지는 경우 zmq에서 zeromq?를 사용하여 이것을 수행 할 수 있습니까? 어떻게 네트워크에서이 대기열을 저장할 수 있습니까?

( 은 내가 게시자와 메시지를 보낼 원하는 가입자는 메시지를 읽을 수는 있지만 내 QoS를 배열에서 그것을 제거 모니터 할 때까지 대기열에서 그것을 삭제하지 마십시오. 그것으로 만들어 내 발행인 다이 메시지 큐가 삭제되지 않아야합니다.

은 내가 zmq 현재 패턴이 기능을 구현할 수 있습니까? )

+0

[tag : dds] 태그가 포함되었으므로 DDS를 사용하는 솔루션에도 관심이 있습니까? 당신은 당신의 질문에 그것을 언급하지 않습니다. –

+0

@ReinierTorenbeek 저는 zmq와 같은 MQ를 사용하고 (위에서 설명한) 그런 패턴을 구현하는 것이 DDS 아키텍처의 지금까지는 안다고 생각합니다. 내가 dds를 이해하는 데 잘못하면 나에게 정정 해주세요. 덕분에 – danics

답변

1

당신은 당신의 응용 프로그램에 중복/신뢰성의 수준을 구축보다는를 제공하기 위해 ZMQ에 의존해야합니다.

이것은 게시자 노드에서 모든 메시지를 추적해야한다는 것을 의미합니다. 그러면 구독자 노드는 메시지를 받았음을 다시 전달할 수 있어야합니다. 그러면 게시자 노드가 메시지를 삭제할 수 있습니다. 은닉처. 이것은 다중 소켓을 의미합니다. XPUB/XSUB가 실제로 이런 방식으로 통신하려고 시도하지 않는 한, 아마 그렇습니다.하지만 이상적인 선택이 아닌 것 같습니다.

통신 라이브러리에서보다 직접적으로 지원되는 것이 필요하다면 ZMQ는이를 대신하지 않을 것입니다.하지만 당신이 원하는 것을 찾을 수 있을지는 의문입니다.

+0

나는 opensplice를보고 어떤 식으로 그러한 기능을 제공하는지 보았다. http://www.slideshare.net/Angelo.Corsaro/advanced-opensplice-programming-part-i – danics

+0

opensplice에 대해 많이 알고 있다고 말할 수 없다. 수 분간의 검색은 DDS 프로토콜의 오픈 소스 구현처럼 들립니다. 따라서, ZMQ와 직접적으로 비교할 수 없습니다 ... opensplice를 완벽한 커뮤니케이션 앱으로 생각하십시오. ZMQ는 완전한 통신 앱을 만드는 데 사용하는 툴셋입니다. ZMQ로 완벽하게 구현할 수 있는지 확인하기 위해 DDS 사양을 자세히 검토하지는 않았지만이를 대략적으로 설명 할 수 있어야합니다. 그러나 여러분이 필요로하는 것보다 opensplice를 대신 사용하도록 선택했을 것입니다. – Jason

+0

내 프로젝트에서 opensplice를 사용하고 싶지 않다면 ZMQ를 사용하여 내 자신의 통신 앱을 만들고 DDS를 기반으로 원하는 링크를 보았습니까? 13 페이지 이후에? zyre opnamp와 같은 zmq 라이브러리를 사용하여 이와 같은 전역 데이터 도메인을 구현할 수 있다고 생각하십니까? – danics

관련 문제