2017-11-15 34 views
0

nanomsg의 pub/sub 프로토콜에서 순수 멀티 캐스팅을 수행 할 수 있습니까? 단일 게시자에 대한 특정 데이터에 관심있는 N 명의 가입자가있을 수 있기 때문에 동일한 구독 데이터가 N 개의 다른 스트림으로 흐르고 있습니다. 단일 스트림에 대한 대역폭이 10MB이면 N 스트림에 필요한 총 대역폭은 10 * N이며, 따라서 대역폭의 증가가 있습니다. 우리가 멀티 캐스팅에서하는 것처럼이 대역폭을 줄일 수 있습니까 ?? 아무도이 문제에 관해서 나를 도울 수 있습니까 ??Nanomsg 멀티 캐스트 대역폭 문제

답변

0

필자가 PUB/SUB 패턴을 이해한다면 데이터는 모든 구독자에게 하나씩 보내질 것입니다. 구독자가 데이터를 가져올 준비가되지 않은 경우 데이터가 삭제됩니다. 나는 PUB/SUB의 데이터가 순차적으로 전송된다고 생각합니다.

그러나 PUSH/PULL 패턴을 사용하면 데이터 전송 방법을보다 잘 제어 할 수 있습니다. N 개의 PULLER와 PUSHER를 가질 수 있습니다. PUSHer는 모든 PULLer에게 하나씩 데이터를 보냅니다. 차이점은 타이밍을 제어 할 수 있으며 더 느린 PULLer를 기다릴 수 있다는 것입니다.

여러 전송을 좋아하지 않는다면 생각할 수있는 유일한 다른 메커니즘은 공유 메모리입니다. 한 명의 발신자와 여러 명의 수신자 이 시나리오는 단일 컴퓨터에만 적용됩니다.

그래서 대답은 아니오입니다. 나노 미터 펍/서브 프로토콜에서 순수 멀티 캐스팅을 할 수 없습니다. 순수 멀티 캐스트가 필요한 경우 다른 프로토콜을 살펴 봐야합니다. 어쩌면 들어오는 nng은 UDP를 통해이를 제공 할 수 있습니다.

멀티 캐스트가 필수 인 경우 다른 프로토콜을 확인해야합니다 (예 : NACK-Oriented Reliable Multicast (NORM)).