문제

여러 다른 지리적 위치(예:미국/유럽/호주를 생각해 보세요).

애플리케이션 처리량이 상당히 많습니다(수백만 비즈.하루에 메시지) 및 대기 시간이 요구되어 작지만 매우 자주 메시지를 보냅니다.Classic Atom pub은 대기 시간의 일부 외부 제한으로 인해 여기서 작동하지 않습니다.

해당 데이터 센터를 연결하기 위한 몇 가지 옵션을 생각해 냈지만 가장 좋은 옵션을 찾을 수 없습니다.내가 고려한 옵션은 다음과 같습니다.1) VPN을 통해 멀티캐스트 메시지를 전달합니다(VPN이 이러한 큰 부하를 처리할 수 있습니까).2) 모든 멀티캐스트 메시지를 "래퍼 메시지"로 변환하고 AMQP를 통해 전달합니다.3) TCP를 통해 멀티캐스트 메시지를 다른 두 위치로 터널링하는 특수한 사내 게이트를 작성합니다.4) 다른 솔루션

개발자가 추가로 코드를 작성할 필요가 없으므로 옵션 1을 선호합니다.하지만 안정적인 연결이 되지 않을까 걱정됩니다.

그러한 연결에 적용되는 규칙이 있습니까?

위의 제약 조건에 대한 지리적 구성과 관련하여 가장 적합한 네트워크 구성은 무엇입니까?

도움이 되었습니까?

해결책

그냥 인사하고 싶었어요 :)

주제에 관해서는 WAN을 통한 멀티캐스팅에 대한 경험이 많지 않지만 PGM + WAN + 대용량 데이터는 재전송 폭풍으로 이어질 것이라고 생각합니다.VPN은 이 문제를 사라지게 만들지 않습니다. 모두 호주 수신기는 누락된 패킷이 발견되면 NACKS를 유럽 등으로 보냅니다.

PGM 사양은 메시지 전달을 위한 노드의 트리 구조를 허용하므로 이론상으로는 수신측에 단일 노드를 배치하여 데이터를 로컬로 다시 멀티캐스트할 수 있습니다.그러나 이러한 종류의 기능이 MS의 PGM 구현에서 사용 가능한지 여부는 확실하지 않습니다.선택적으로 이를 처리하는 수신 측에 PGM을 지원하는 Cisco 라우터를 배치할 수 있습니다.

어떤 경우든 제가 선호하는 방식은 데이터를 TCP 스트림으로 변환하여 WAN을 통해 전달한 다음 반대쪽에서 다시 PGM으로 변환하는 것입니다.일부 코드를 작성해야 하지만 불쾌한 놀라움은 예상할 수 없습니다.

마틴 S.

다른 팁

CohesiveFT에서는 여러 클라우드를 하나의 VPN으로 자체 방화벽 뒤의 서버에 연결하기 위한 "VPN-Cubed" 제품을 설계할 때 매우 유사한 문제에 직면했습니다.우리는 멀티캐스트를 사용하여 서로 통신하는 앱을 실행할 수 있기를 원했지만, 예를 들어 Amazon EC2는 전체 데이터 센터에 걸쳐 네트워크 폭풍이 발생할 가능성을 고려하면 매우 분명한 이유로 멀티캐스트를 지원하지 않습니다.우리는 또한 인터넷을 사용하여 광역 노드 연합 전체에 걸쳐 트래픽을 라우팅하고 싶었습니다.

너무 자세히 설명하지 않고 터널링을 BGP와 같은 표준 라우팅 프로토콜 및 VPN용 개방형 기술과 결합하는 것이 솔루션에 포함되었습니다.우리는 RabbitMQ AMQP를 사용하여 물리적 멀티캐스트 없이 pubsub 스타일로 메시지를 전달했습니다.즉, VPN-Cubed 안전 항구에 있는 경우 도메인과 방화벽을 넘어 광역 서브넷을 통해 멀티캐스트를 가짜로 만들 수 있습니다.여기 기술 노트에 설명된 대로 '네트워크 오버레이'이기 때문에 작동합니다. http://blog.elasticserver.com/2008/12/vpn-cubed-technical-overview.html

실제로 여러분에게 구체적인 솔루션을 제공할 생각은 없지만, 이 답변을 통해 이러한 접근 방식 중 일부를 시도해 볼 수 있다는 확신을 갖게 되기를 바랍니다.

건배, 알렉시스

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