2015-01-05 2 views
1

다음과 같은 문제가 있습니다 :ZMQ 중개인 자동 발견

클라우드에 ZMQ 기반 중개자 그룹이 있습니다. 이는 특정 IP 범위를 사용하는 Amazon VPC에서 작동합니다.

또한 클라이언트 앱이 있으며 모든 호스트에서 실행되며 전 세계 어디에나 위치 할 수 있습니다.

나는 자동차에 이러한 클라이언트가 사용 가능한 브로커 :이 클라이언트가 시작될 때,이 브로커 IP가 위의 목록을 가져해야

Broker1: 172.44.22.33 
Broker2: 172.44.22.34 
Broker3: 172.44.22.35 
Broker4: 172.44.22.36 
.... 

Client: 82.34.55.12 

을 ... 발견 할 수 있습니다.

제 질문은 이것을하는 가장 좋은 방법입니다.

물론 클라이언트는 범위 내 모든 IP에 연결하려고 시도 할 때 무차별 방식을 사용할 수 있지만 이는 좋거나 효율적인 해결책은 아닙니다.

VPC는 ​​멀티 캐스트를 지원할 수 있습니다 (n2n을 통해).이 경우 클라이언트는 멀티 캐스트 메시지를 보내고 사용 가능한 브로커는 항상 멀티 캐스트 데이터의 일부인 보낸 사람 IP를 사용하여 "응답"합니다. (내가 아는 한).

하지만 더 좋은 방법은 없나요? 클라이언트가 자동으로 검색 할 필요가 있습니다. 왜냐하면 이것은 0 구성 시스템이어야하기 때문입니다.

나는 멀티 캐스트/브로드 캐스트 나 bonjure/zeroconf 같은 것을 사용하여 LAN상에서 쉽게 발견 할 수 있음을 알고 있습니다. 그러나 클라이언트는 내 네트워크의 일부가 아니며 어디서나 위치 할 수 있습니다.

미리 감사드립니다.

편집 :

내가이 가능한 브로커에 대한 정보를 저장하는 것 "설정 서버"를 추가하는 등, 너무 다른 방법으로 해결 될 수 알지만, 내가 분산 솔루션을 선호하는 것이다.

EDIT2 :

그것은 광역 검색이 지원되기 때문에이 목적을 위해 사용될 수있는 DNS-SD 보인다. 알 수 있듯이 수동 DNS 서버에도 일부 특수 DNS 항목을 추가 할 수 있습니다.

클라이언트는 DNS 레코드가 보급 된 서비스의 데이터를 저장하는 도메인 이름에 대해서만 알고 있어야합니다.

클라이언트가 bonjur/avahi 라이브러리 또는 다른 DNS-SD 구현을 통합해야 이러한 쿼리를 수행 할 수 있습니다. 맞습니까? 이것에 대한 최고의 무료 라이브러리는 무엇입니까, avahi?

답변

0

얼마나 빠르고 많은 구성 요소가 있습니까?

구성 서버를 사용하고 있지만 종류가 틀리면 종자 목록이 있어야합니다. 항상 알고있는 구성 요소 목록이 필요합니다.

구성 요소가 시드 목록의 모든 검색 서비스에 등록을 시작하고 모두의 변경 사항에 가입 한 다음 구성 요소 목록을 내부적으로 관리 할 때 구성 요소 서버가 구성 서버이거나 검색 서비스를 실행해야합니다 모든 검색 서비스의 업데이트

20 개가 넘는 구성 요소가 있으니 가십 프로토콜을 사용하는 것이 좋지만 모든 구성 요소를 인식 할 때까지는 느려질 것입니다.

+0

답변 해 주셔서 감사합니다. 처음에는 몇 명의 브로커가있을 것이지만,이 숫자는 빠르게 증가 할 것입니다. 6-12 개월 안에 수천 명의 고객에게 서비스를 제공하는 100 대 이상의 중개인이있을 수 있습니다. 가십 프로토콜을 살펴 봅니다. – user2297996