2017-12-19 5 views
0

우리는 스트림 중간에 사용자에게 설문 조사에 응답하도록 요청하는 실시간 스트리밍 앱이 있습니다. 경합 문제에 같은 중포 기지 위치의 주도하에 동시에 노드를 추가하는 방법에 대한 20000 클라이언트를 가진같은 위치에 동시에 노드 추가하기

responses -> 
     <question_id> 
      -> <clientid_1> : response 
      -> <clientid_2> : response 
      -> <clientid_3> : response 
       ... 

윌 : 클라이언트는 그래서 같은 question_id 노드 아래의 중포 기지 DB에 대한 응답을 작성합니다? 특히 Firebase는 쓰기 작업을 수행 할 때 부모 노드를 잠급니다. 즉, 쓰기 작업이 동시에 이루어지지 않습니다.

답변

0

각 클라이언트가 작성한 모든 ID가 모두 고유 한 경우 잠금이 필요한 경합이 발생하지 않습니다. 사실, 모든 쓰기가 효과적으로 직렬화되기 때문에 Realtime Database는 어떤 형태의 잠금도 필요하지 않습니다. 고객은 모두 데이터베이스에서 완전히 다른 위치를 쓰고 있으므로 두 클라이언트가 같은 위치에서 작성하는 경우 충돌을 해결할 필요가있는 트랜잭션조차 필요하지 않습니다.