모든 클라이언트가 공유 설정 집합을 유지해야하는 간단한 (희망을 갖고) P2P 네트워크를 만들어야합니다. 내 네트워크 것들 중 일부는 할 필요가 :여러 피어간에 상태 동기화 유지
- 가 계속 나는 몇 가지 아이디어를 가지고 할 수 있지만
- 는
- 이 & 모든 동료
에 공유 리소스를 배포 가져 오기 명령을 수행 각 피어의 상태를 업데이트 이것을 구현하는 방법에 대해, 나는 바퀴를 재발 명하고있을 것이라고 확신한다. 그러나 내 Google-fu는 너무 약해서 추가 검색을 시작할 참조/용어를 찾을 수 없습니다.
피어를 설정하는 것은 여기에 문제가되지 않습니다. 중앙 서버에 관련된 모든 피어에 대한 정확한 정보가 있으며 피어가 원하는대로 서버에 쿼리 할 수 있습니다. 단순화 - -
나는 내 문제는 두 가지로 분할하거나 할 수 있다고 생각 하나의 문제 :
- 을 글로벌 상태를 유지 그들이 동기화가되면 동료가 알 수있는 방법이 어디
- (1) 다음 명령을 수행 할 피어를 결정하십시오.
2는 동기화 된 글로벌 상태에서 비교적 쉬워야합니다. 수행 할 작업이 있으면 수행 한 것으로 표시하고, 동료에게 통보를 한 다음 수행합니다.
그래서 해결해야 할 한 가지 실제적인 문제는 국가의 모든 변화에 대해 모든 피어에게 수백 가지의 IP 요청을하지 않고 전역 상태를 유지하는 방법입니다. 내 말은, 모든 동료가 알림을 받아야한다는 것을 알기 때문에, 원래 피어가 모든 것을 자체적으로 수행 할 필요가없는 알고리즘을 기대하고있었습니다. 또한 여러 상태 변경이 동시에 여러 피어에 의해 감지 될 수 있으며 이미 그러한 충돌을 해결하는 무언가가있을 수 있습니다.
DHT를 조사했지만 해시 테이블로 작동한다는 이유로 계정을 거부했습니다. 데이터를 검색하기 위해 키를 알아야합니다. 내가 잘못 찾고있을 수 있습니다,하지만 난 다른 문제가 있다고 생각 : 나는 모든 데이터를 포함하고 최소한의 의사 소통과 함께 이것을 달성하기 위해 모든 노드가 필요합니다. – velis
내가 필요로하는 것은 BitCoin과 그 거래와 더 비슷하다고 생각합니다. – velis