Docs Menu
Docs Home
/
MongoDB Cluster-to-Cluster Sync
/ /

progress

이 페이지의 내용

  • 설명
  • 요청
  • 응답
  • 성공적인 응답
  • 오류 응답
  • 행동
  • 엔드포인트 보호
  • 예시
  • 요청
  • 응답

동기화 프로세스의 업데이트된 상태나 오류를 반환합니다.

GET /api/v1/progress

progress 엔드포인트가 업데이트된 상태 또는 오류를 반환합니다.

응답 객체에는 2 최상위 필드인 successprogress 가 포함되어 있습니다.

success 필드 에는 progress 명령의 상태가 포함됩니다. 항상 true 인 경우 값은 true 입니다.

mongosync 가 동기화 프로세스의 상태를 성공적으로 가져오면 모든 응답 필드가 다음 필드와 함께 최상위 progress 객체에 래핑됩니다.

필드
유형
설명

state

문자열

mongosync 의 현재 상태 입니다. 가능한 상태에 대한 자세한 내용은 상태 설명을 참조하세요.

canCommit

부울

true 인 경우 커밋 요청이 성공함을 나타냅니다. 이는 초기 동기화가 완료되어 변경 이벤트를 적용하고 있음을 의미하기도 합니다.

canWrite

부울

true 인 경우 대상 cluster에서 쓰기가 허용됨을 나타냅니다. canWrite 이(가) false 인 동안에는 대상 cluster에 쓰지 않도록 합니다.

커밋 이 완료될 때까지 인덱스 유효성 검사가 계속됩니다.

info

문자열

동기화 진행 상황에 대한 추가 정보를 제공합니다. 가능한 info 값은 다음과 같습니다.

  • "collection copy"

  • "change event application"

  • "waiting for commit to complete"

  • "commit completed"

lagTimeSeconds

integer

mongosync 이(가) 대상 클러스터 에 적용한 최신 이벤트 타임스탬프와 이 mongosync 인스턴스 에 대한 소스 클러스터 의 최신 타임스탬프 사이의 시간 차이(초)입니다.

mongosync 소스 클러스터에서 주기적으로 no-op 쓰기를 수행하여 이 마이그레이션을 lagTimeSeconds mongosync 커밋할 때까지 필드의 값이 0에 도달하는 것을 방지할 수 있습니다.

소스 클러스터의 지속적인 no-ops로 인해 소스 클러스터에 실제 쓰기가 없더라도 시간 차이가 0보다 몇 초 이상 커지는 경우가 많습니다. mongosync 이(가) 마이그레이션을 커밋하면 시간 차이가 0이 됩니다.

totalEventsApplied

integer

mongosync 인스턴스 가 대상 클러스터 에 적용한 대략적인 변경 이벤트 수입니다.

이 값은 지속되지 않고 계산에서 특정 이벤트를 생략하기 때문에 총 이벤트 수를 정확하게 나타내지 않을 수 있습니다.

collectionCopy

객체

컬렉션에서 복사되는 데이터의 총량과 대상 클러스터로 이미 복사된 데이터의 양을 추정합니다.

collectionCopy .estimatedTotalBytes

integer

초기 collection의 복사 중에 모든 mongosync 인스턴스가 전역적으로 복사할 예상 총 바이트 수입니다.

mongosync 는 마이그레이션 전의 예상 총 바이트 수를 추정하며 동기화 프로세스 중에 이 값을 업데이트하지 않습니다. 이 값은 동기화 중에 소스 클러스터에 적용된 변경 사항을 반영하지 않으며 마이그레이션 진행 상황을 정확하게 나타내는 지표가 아닙니다.

collectionCopy .estimatedCopiedBytes

integer

컬렉션의 초기 복사 중에 이 mongosync 인스턴스가 대상 클러스터로 복사한 예상 바이트 수입니다.

총 예상 진행률을 백분율로 계산하려면 각 mongosync 인스턴스의 estimatedCopiedBytes 필드 값을 더하고 결과를 estimatedTotalBytes 필드 값으로 나눕니다. 그런 다음 결과에 100을 곱합니다.

estimatedCopiedBytes 값은 재시도된 작업으로 인해 estimatedTotalBytes 값보다 클 수 있습니다. estimatedTotalBytesestimatedCopiedBytes 비교는 마이그레이션 진행 상황을 정확하게 나타내는 지표가 아닙니다.

directionMapping

객체

동기화에 대한 매핑 방향, 즉 소스 cluster 및 대상 cluster를 설명합니다.

directionMapping .Source

문자열

소스 클러스터. <cluster name>: <host>:<port> 형식으로 반환됩니다.

directionMapping .Destination

문자열

대상 cluster. <cluster name>: <host>:<port> 형식으로 반환됩니다.

mongosyncID

문자열

mongosync 인스턴스의 식별자 string 입니다.

버전 1.3에 새로 추가되었습니다.

coordinatorID

문자열

코디네이터 인스턴스의 식별자 string 입니다.

  • 다른 인스턴스에 의해 mongosync 이(가) 조정되는 경우 이 필드에는 코디네이터 인스턴스의 식별자 문자열이 표시됩니다.

  • mongosync 가 코디네이터이거나 단독으로 실행되는 경우 이 필드는 mongosyncID 필드와 동일한 값을 반환합니다.

  • mongosync 이(가) 시작되면 mongosync 이(가) 코디네이터를 식별할 때까지 이 필드가 null 을(를) 반환합니다.

버전 1.3에 새로 추가되었습니다.

verification

문서

내장된 검증자가 수행하는 검증 검사의 단계 및 진행 상황에 대한 정보를 제공합니다.

버전 1.9에 새로 추가되었습니다.

verification.source

문서

소스 클러스터 에서 실행 확인 검사의 단계 및 진행 상황에 대한 정보를 제공합니다.

버전 1.9에 새로 추가되었습니다.

verification.source. estimatedDocumentCount

integer

소스 클러스터 의 예상 문서 수입니다.

버전 1.9에 새로 추가되었습니다.

verification.source. hashedDocumentCount

integer

소스 클러스터 에서 검증자가 해시 한 문서 수입니다.

버전 1.9에 새로 추가되었습니다.

verification.source. lagTimeSeconds

integer

소스 클러스터 에서 마지막 확인 확인이 수행된 후의 시간(초)입니다.

버전 1.9에 새로 추가되었습니다.

verification.source. phase

문자열

소스 클러스터 에 대한 확인 프로세스 의 현재 단계입니다.

버전 1.9에 새로 추가되었습니다.

verification.source. scannedCollectionCount

integer

소스 클러스터 의 내장된 검증자가 스캔한 컬렉션의 수입니다.

버전 1.9에 새로 추가되었습니다.

verification.source. totalCollectionCount

integer

확인 검사에 포함할 소스 클러스터 의 컬렉션 수입니다.

verification.destination

문서

대상 클러스터 에서 실행 확인 검사의 단계 및 진행 상황에 대한 정보를 제공합니다.

버전 1.9에 새로 추가되었습니다.

verification.destination. estimatedDocumentCount

integer

대상 클러스터 의 예상 문서 수입니다.

버전 1.9에 새로 추가되었습니다.

verification.destination. hashedDocumentCount

integer

대상 클러스터 에서 검증자가 해시 한 문서 수입니다.

버전 1.9에 새로 추가되었습니다.

verification.destination. lagTimeSeconds

integer

대상 클러스터 에서 마지막으로 확인 검사를 수행한 이후 경과된 시간(초)입니다.

버전 1.9에 새로 추가되었습니다.

verification.destination. phase

문자열

대상 클러스터 에 대한 확인 프로세스 의 현재 단계입니다.

버전 1.9에 새로 추가되었습니다.

verification.destination. scannedCollectionCount

integer

대상 클러스터 에서 내장된 검증자가 스캔한 컬렉션의 수입니다.

버전 1.9에 새로 추가되었습니다.

verification.destination. totalCollectionCount

integer

확인 검사에 포함할 대상 클러스터 의 컬렉션 수입니다.

버전 1.9에 새로 추가되었습니다.

mongosync 에 오류가 발생하면 progress 엔드포인트는 다음 필드를 반환합니다.

필드
유형
설명

success

부울

progress 명령의 상태입니다. 명령이 성공하면 값은 true 이고 명령이 실패하면 false 입니다.

error

문자열

오류 유형입니다.

errorDescription

문자열

오류에 대한 자세한 설명입니다.

  • mongosyncIDLE 상태인 경우 statecanCommit 를 제외한 모든 출력 필드는 null 입니다.

  • mongosyncPAUSED 상태인 경우 lagTimeSeconds 필드는 null 입니다.

  • 엔드포인트가 자동 새로 고침되지 않습니다. 업데이트된 상태를 가져오려면 progress 엔드포인트를 다시 호출합니다.

  • 가 컬렉션 복사 단계에 도달하기 /progress 전에 mongosync 0 estimatedCopiedBytes 1 estimatedTotalBytes를 호출하면, 에 대해 를 반환합니다.

  • estimatedTotalBytes 소스 클러스터 에서 문서가 삽입되거나 삭제되는 경우 컬렉션 복사 단계 전체에서 변경될 수 있습니다.

  • estimatedCopiedBytesestimatedTotalBytes 보다 크지 않습니다. 컬렉션 복사 단계(estimatedCopiedBytes = estimatedTotalBytes)가 끝날 때 진행률이 100%에 도달합니다.

  • 이전 버전에서 1.8.0 이상으로 실시간 업그레이드 를 수행할 때 컬렉션 복사본 데이터는 [0 bytes copied / 1 bytes total] 에서 다시 시작됩니다. 실시간 업그레이드 후 /progress 는 업그레이드 가 완료된 후에 복사된 데이터의 진행 상황만 보고합니다.

    참고

    mongosync 1.7.3 부터 시작, 동기화 작업을 재개하거나 다시 시작할 때 mongosync 가 응답하는 데 최소 2분 정도 걸릴 수 있습니다. 이 시간 동안 progress 엔드포인트에 대한 호출이 실패할 수 있습니다. progress 호출이 실패해도 안전하게 다시 시도할 수 있습니다.

mongosync progress 엔드포인트를 보호하지 않습니다. 그러나 기본적으로 API는 로컬 호스트에만 바인딩되며 다른 소스의 호출은 허용하지 않습니다. 또한 progress 호출은 연결 자격 증명이나 사용자 데이터를 노출하지 않습니다.

다음 예에서는 동기화 프로세스의 상태를 반환합니다.

curl localhost:27182/api/v1/progress -XGET
{
"progress":
{
"state":"RUNNING",
"canCommit":true,
"canWrite":false,
"info":"change event application",
"lagTimeSeconds":0,
"collectionCopy":
{
"estimatedTotalBytes":694,
"estimatedCopiedBytes":694
},
"directionMapping":
{
"Source":"cluster0: localhost:27017",
"Destination":"cluster1: localhost:27018"
},
"verification":
{
"source":
{
"estimatedDocumentCount": 42,
"hashedDocumentCount": 42,
"lagTimeSeconds": 2,
"totalCollectionCount": 42,
"scannedCollectionCount": 10,
"phase": "stream hashing"
},
"destination": {
"estimatedDocumentCount": 42,
"hashedDocumentCount": 42,
"lagTimeSeconds": 2,
"totalCollectionCount": 42,
"scannedCollectionCount": 10,
"phase": "stream hashing"
}
}
},
"success": true
}

돌아가기

시작하기