2014-01-24 1 views
0

데이터를 공유 및/또는 교환해야하는 두 가지 서비스가 있다고 가정합니다. 두 인스턴스는 서로 분리되어 있으며 다른 파트의 위치를 ​​알 수 없습니다.두 서비스가 고정 주소없이 서로를 어떻게 찾을 수 있습니까?

이제 데이터를 공유하고 교환 할 수 있으려면 서로 연결해야합니다.

IP 주소를 명시 적으로 구성 할 필요없이 어떻게 서로를 찾을 수 있습니까? 다른 말로하면 : 어떻게 자동으로 서로를 감지 할 수 있습니까?

  • 풀 :

    는 기본적으로, 나는이 개 아이디어가 당신은 그들이 등록 중앙 서비스가 필요합니다. 그런 다음 해당 서비스에 서비스 주소를 요청하면 해당 서비스가 해당 데이터를 반환합니다. 이 방법이 효과적 일 때 문제를 다음 단계로 옮겨야한다는 단점이 있습니다. 서비스의 인스턴스가 여러 개 있고 사전에 서로 알 필요가 없으면 어떻게해야합니까?

  • 푸시 : 각 서비스는 다른 서비스가 알 수 있도록 자신의 주소를 브로드 캐스트합니다. 각 서비스는 수시로 이것을 반복합니다. 단점 : 이것은 인터넷에서 거의 작동하지 않습니다.

지능적인 방식으로 어떻게 해결할 수 있을지 궁금하십니까?

추신 : 나는 중앙 DNS 서버 없이도 동적 IP를 처리 할 수있는 방법을 찾고 있습니다.

답변

1

일반적인 방법은 몇 가지 내결함성 서버 서비스를하는 것입니다 등록 후 다른 서비스를 찾을 수 있습니다. Curator frameworkzookeeper 이상을 구현합니다.

자동 검색을 원할 경우 gossip 프로토콜을 구현해야합니다. 그러면 서버가 안정적인 방법으로 다른 서버를 알 수 있습니다. 가십 프로토콜을 올바로 적용하는 것은 까다로운 일임을 명심해야합니다 (예 : 구현상의 문제로 인해 과거의 Amazon 클라우드 오류 중 일부)

관련 문제