동일한 논리 레코드를 '동시에 삽입하는 다중 클라이언트를 처리하기 위해 유성 애플리케이션에 디자인 패턴이 있습니까?Meteor 중복 삽입 충돌 해결
특히 내가 득점 유형 응용 프로그램을 가지고 있고 여러 클라이언트가 응모자가 시작할 준비가되었을 때 응모자에 대한 기본적으로 빈 점수 기록을 만들 수 있습니다. 그런 다음 레코드의 모양을 사용하여 공무원이 편집 할 수 있도록 페이지에서 사용 가능하도록하고 페널티 수 등을 증가시킵니다.
Stages = new Meteor.Collection("contests");
Entrants = new Meteor.Collection("entrants");
Scores = new Meteor.Collection("scores");
// official picks the next entrant
Scores.insert(stage_id:xxxx, entrant_id:yyyy)
컬렉션에 포함 된 점수 레코드의 수정 사항에 대한 충돌 해결의 의미에 만족합니다. stage_id/entrant_id 쌍의 점수를 삽입하려는 여러 클라이언트를 처리하는 방법을 잘 모르겠습니다.
동기식 응용 프로그램에서는 인터 로킹 또는 관계형 DB 키 제약 조건을 사용하는 경향이 있습니다.
관련 질문은 도움이됩니다. 나는 주로 고객이 보게 될 것을 생각하고 있었다. 사용자가 스테이지를 '열린'상태로 표시 할 때 스테이지의 모든 스코어를 미리 작성하는쪽으로 기울고 있습니다. 이것은 위와 같은 문제를 해결할뿐만 아니라 다른 수집 물에없는 반응성 휘젓감 목록 항목을 피합니다. –
사전 작성은 내가 생각하기에 최선의 해결책이 될 것입니다. 훨씬 더 간단합니다. 훨씬 더 투명합니다. – icanhazbroccoli