Couchbase Mobile 기능 설명: 데이터 동기화에서의 충돌 해결 ③ (Sync Gateway의 충돌 해결)
본문은 상술한 보도의 속편이다.여기서 Sync Gateway의 경쟁을 해결하는 데 중점을 두겠습니다.
Sync Gateway(2.0 이상)는 Couhbase Lite와 동기화할 때 무충돌(무충돌) 모드로 실행(REST API 클라이언트를 사용할 때 충돌하지 않음, 즉 경쟁 문서를 저장하는 모드를 선택할 수 있으나 본문은 생략됨)
Couchbase Lite와 Sync Gateway를 동기화하는 방법은 두 가지 방향이 있는데 그것이 바로 Couchbase Lite의 변경 사항을 Couchbase 서버의'밀기'와 Couchbase 서버의 변경 사항을 Couchbase Lite의'당기기'에 반영하는 것이다.다음은 각자의 상황에 대해 설명한다.
푸시 응용
다음 그림은 두 클라이언트가 문서를 같은 개정으로 수정하도록 추진하는 방안을 보여 줍니다.
이 모드에서 Sync Gateway는 충돌을 일으키는 수정을 거부하고 HTTP 409 오류를 반환합니다.이것은 데이터베이스에 충돌하는 수정판이 없도록 확보한다.충돌은 제출 응용 과정에서 고객이 처리한다.
합병 응용 과정에서 고객이 충돌을 감지하면 충돌은 다음과 같은 기준을 사용하여 결정적으로 해결된다
서버 spoke가 승자가 되는 경우
위에서 설명한 대로 복제 과정에서 충돌은 Couchbase Lite를 통해 해결됩니다.복제품이 추진체로만 구성될 경우 Couchbase Lite의 데이터 뷰는 Sync Gateway의 뷰와 다르다는 뜻이다.따라서 충돌이 예상되어 충돌을 해결해야 할 경우 충돌 없음 모드에서 사용할 경우 쿠키베이스 리플리케이터를 밀착 모드로 구성해야 합니다.
Sync Gateway 구성
Sync Gateway의 충돌 없음 모드는 Sync Gateway로 구성된 파일
allow_conflicts
속성으로 구성됩니다.충돌 없음 모드를 활성화하려면 이 속성을 "false
"로 설정합니다.그러나 이 속성 구성과 관계없이 Couchbase Lite 2입니다.0은(는) 고객과 동기화할 때 Sync Gateway와 충돌하는 수정 버전을 추가하지 않도록 주의하십시오."
allow_conflicts
"구성은 REST API 클라이언트(2.0 이외의 고객에게만 적용됩니다.다음 표는 그 관계를 정리한 표입니다.allow_conflicts_configuration
충돌 해결 모델이 데이터베이스 크기에 미치는 영향
충돌 해결이 데이터베이스 크기에 미치는 영향에 대해서는 소개된 데이터베이스 크기 관리에 관한 블로그를 참고하십시오.
충돌 허용 모드
충돌을 허용하는 시스템에서 충돌하는 개정이 커지면 개정 트리의 크기가 커지고 데이터베이스의 크기에 영향을 줍니다.따라서 분쟁을 제때에 해결하는 것이 중요하다.
Sync Gateway에는 개정 트리 크기를 결정하는 속성
revs_limit
이 있습니다.revs_limit
속성의 기본값은 1000이며 Sync Gateway에 마지막 1000 개정에 해당하는 메타데이터를 저장할 수 있음을 의미합니다.설정revs_limit
에서 큰 값으로 설정하면 데이터베이스 크기에 불리한 영향을 미칠 수 있습니다.다른 한편, 충돌 해결을 처리하기 위해서는 낡은 수정판에 대응하는 메타데이터를 유지하는 것이 중요하다.따라서 revs_limit
를 너무 낮게 설정하지 않는 것이 중요하다.따라서 revs_limit
의 최소 허용치는 20이다.비충돌 모드
충돌 없음 모드에서는 이전 버전에 해당하는 메타데이터를 실제로 저장할 필요가 없습니다.이것은
revs_limit
의 값이 사실상 1일 수도 있다는 것을 의미한다.즉, 최신 활동의 개정만 저장됩니다.이것은 데이터베이스 크기를 크게 절약할 것이다.참조 정보
Reference
이 문제에 관하여(Couchbase Mobile 기능 설명: 데이터 동기화에서의 충돌 해결 ③ (Sync Gateway의 충돌 해결)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yoshiyuki_kono/items/48858b895c693d9b7c8e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)