Docs Menu
Docs Home
/ /
Atlas App Services
/ /

동기화 일시 중지 또는 종료

이 페이지의 내용

  • 동기화 일시 중지
  • 동기화 종료
  • 동기화 재활성화

앱에 대해 Atlas Device Sync를 비활성화하려는 경우 앱을 일시적으로 일시 중지하거나 영구적으로 종료할 수 있습니다. Realm Mobile Sync를 비활성화한 후 다시 활성화할 수도 있습니다.

클러스터 를 일시 중지해야 하는 경우 Device Sync 를 일시적으로 일시 중지할 수 있습니다. 일시적으로 일시 중지하면 Device Sync 구성 을 재설정하거나 Device Sync 메타데이터 를 손실하지 않고 다시 사용 하도록 설정할 수 있습니다.

문제 해결을 위해 또는 Device Sync 구성을 변경하려는 경우 Device Sync를 영구적으로 종료 했다가 다시 활성화할있습니다.

30일 동안 사용하지 않으면 Device Sync가 자동으로 일시 중지됩니다.

일정 기간 Realm Mobile Sync를 완전히 비활성화하지 않고도 일시 중지할 수 있습니다. Realm Mobile Sync를 일시 중지하면 Atlas와 애플리케이션 간의 변경 사항 동기화가 중지됩니다.

중요

클러스터를 일시 중지해야 하는 경우 먼저 Device Sync를 일시 중지하세요. 그렇지 않으면 Device Sync를 종료 했다가 다시 활성화 하고 클라이언트 재설정을 수행해야 합니다.

Device Sync를 일시 중지하면 들어오는 모든 클라이언트 연결이 거부됩니다. 즉, 앱의 Realm Mobile Sync를 일시 중지하면 모든 클라이언트의 변경 사항 동기화가 중지됩니다.

1

App Services UI 의 Device Sync 탭 에서 화면 상단의 Pause Sync 버튼을 누릅니다.

그런 다음 동기화를 일시 중지할지 확인합니다.

App Services API 를 사용하여 프로그래밍 방식으로 Device Sync 를 일시 중지할 수 있습니다.

1

App Services Admin API 에 대한 모든 요청 에는 Authorization 헤더의 베어러 토큰으로 MongoDB Cloud API 의 유효한 최신 권한 부여 토큰이 포함되어야 합니다.

인증 토큰을 가져오는 방법에 대한 자세한 내용은 인증 토큰 가져오기를 참조하세요 .

2
  • 앱의 그룹 및 앱 ID 를 가져옵니다.

  • 동기화 서비스의 서비스 ID 를 가져옵니다. adminListServices 엔드포인트를 사용하여 모든 서비스를 프로그래밍 방식으로 가져올 수 있습니다.

또는 UI 를 볼 때 URL 에서 그룹, 앱 및 서비스 ID를 추출할 수 있습니다.

  1. Device Sync 가 구성된 App Services App 으로 고 (Go) 합니다.

  2. Manage 아래의 사이드바에서 Linked Data Sources 을 선택합니다.

  3. mongodb-atlas CLUSTER 을(를) 선택합니다.

이제 브라우저 툴바의 URL 이 다음과 유사해집니다.

https://services.cloud.mongodb.com/groups/$GROUP_ID/apps/$APP_ID/services/$SERVICE_ID/config

3

adminGetServiceConfig 엔드포인트에 GET 요청 을 보내 Device Sync 서비스 구성을 가져옵니다. 그러면 다음과 유사한 서비스 구성 객체 가 반환됩니다.

{
"clusterId": "<MY-CLUSTER-ID>",
"clusterName": "Cluster0",
"clusterType": "atlas",
"flexible_sync": {
"state": "enabled",
"database_name": "todo",
"permissions": {
"rules": {},
"defaultRoles": []
},
"client_max_offline_days": 30,
"is_recovery_mode_disabled": false
},
"groupName": "<MY-GROUP-NAME>",
"orgName": "<MY-ORG-NAME>",
"readPreference": "primary",
"wireProtocolEnabled": false
}

이 엔드포인트에서 반환된 동기화 구성에 대한 자세한 내용은 동기화 구성 파일 참조를 참조하세요.

4

새 JSON 객체 에 대한 구성의 flexible_sync 부분만 제거합니다. 이 구성에는 애플리케이션 에 대한 동기화 프로토콜 의 현재 상태 를 반영하는 state 필드 가 포함되어 있습니다. 이 값을 disabled 로 설정합니다. 이제 다음과 유사한 JSON blob과 유사해야 합니다.

{
"flexible_sync": {
"state": "disabled",
"database_name": "todo",
"permissions": {
"rules": {},
"defaultRoles": []
},
"client_max_offline_days": 30,
"is_recovery_mode_disabled": false
}
}
5

업데이트된 동기화 서비스 구성을 adminUpdateServiceConfig 엔드포인트에 대한 PATCH 요청 의 페이로드로 보냅니다.

Device Sync를 일시 중지한 후 다시 활성화할 수 있습니다. Device Sync를 일시 중지하면 구성 설정과 동기화 기록이 포함된 모든 Device Sync 메타데이터가 유지됩니다. 일시 중지된 Device Sync를 다시 활성화하면 클라이언트가 정상적으로 다시 연결할 수 있습니다.

경고

oplog 가 Device Sync Device Sync 종료했다가 다시 활성화해야 합니다. 예를 들어 클러스터에 대해 12 시간의 oplog만 유지하고 12 시간 이상 Device Sync를 일시 중지하는 경우 Device Sync를 종료했다가 다시 활성화해야 합니다.

앱에 대해 일시 중지된 Atlas Device Sync 를 종료했다가 다시 활성화하면 Atlas Device Sync 메타데이터 가 지워지고 구성 설정을 다시 지정해야 합니다. 클라이언트는 Atlas Device Sync 가 종료된 후 다시 연결할 때 클라이언트 재설정 을 수행해야 합니다. 자세한 내용은 동기화 종료를 참조하세요.

Realm Mobile Sync를 활성화한 경우 몇 가지 상황에서는 Realm Mobile Sync를 종료했다가 다시 활성화해야 할 수 있습니다.

  • 공유 계층 Atlas cluster에서 공유 또는 전용 인스턴스로 업그레이드

  • 여러 리전/ cloud 공급자에 분산된 Atlas cluster로 이동합니다.

  • NVMe Atlas cluster로 업그레이드

  • oplog 롤오버

  • 사용 빈도가 낮은 사용으로 인해 공유 계층 cluster에서 Realm Mobile Sync 동기화 세션이 일시 중지되었습니다.

  • 문제 해결, MongoDB 지원 요청 시

  • 동기화 모드 간 전환. 인스턴스, 파티션 기반 동기화에서 Flexible Sync로 전환하려는 경우

  • 동기화를 통해 사용한 collection 삭제. 예를 들어 Team 객체를 저장하고 동기화하는 Team 컬렉션이 있는 경우 해당 컬렉션을 삭제한 경우 동기화를 종료했다가 다시 허용해야 합니다.

경고

동기화 종료 후 동기화 복원하기

Atlas Device Sync를 종료했다가 다시 활성화하면 클라이언트가 더 이상 동기화할 수 없습니다. 동기화를 복원하려면 클라이언트가 클라이언트 재설정 핸들러를 구현해야 합니다. 이 핸들러는 동기화되지 않은 변경 사항을 삭제하거나 복구를 시도할 수 있습니다.

앱에서 Device Sync를 종료하여 기기 간 데이터 동기화를 중지합니다.

1

App Services UI의 Sync 탭에서 화면 상단의 빨간색 Terminate Sync 버튼을 클릭합니다.

2

표시되는 모달에서 텍스트 항목에 '동기화 종료'를 입력한 다음 Terminate Sync 버튼을 클릭합니다.

UI 배포 초안 을 사용하는 경우 초안을 배포해야 실제로 동기화를 종료할 수 있습니다.

이제 Realm Mobile Sync가 종료되었습니다.

App Services API 를 사용하여 프로그래밍 방식으로 Device Sync 를 종료할 수 있습니다.

1

App Services Admin API 에 대한 모든 요청 에는 Authorization 헤더의 베어러 토큰으로 MongoDB Cloud API 의 유효한 최신 권한 부여 토큰이 포함되어야 합니다.

인증 토큰을 가져오는 방법에 대한 자세한 내용은 인증 토큰 가져오기를 참조하세요 .

2
  • 앱의 그룹 및 앱 ID 를 가져옵니다.

  • 동기화 서비스의 서비스 ID 를 가져옵니다. adminListServices 엔드포인트를 사용하여 모든 서비스를 프로그래밍 방식으로 가져올 수 있습니다.

또는 UI를 볼 때 URL에서 그룹, 앱 및 서비스 ID를 추출할 수 있습니다.

  1. Device Sync 가 구성된 App Services App 으로 고 (Go) 합니다.

  2. Manage 아래의 사이드바에서 Linked Data Sources 을 선택합니다.

  3. mongodb-atlas CLUSTER 을(를) 선택합니다.

이제 브라우저 툴바의 URL 이 다음과 유사해집니다.

https://services.cloud.mongodb.com/groups/$GROUP_ID/apps/$APP_ID/services/$SERVICE_ID/config

3

adminGetServiceConfig 엔드포인트에 GET 요청 을 보내 Device Sync 서비스 구성을 가져옵니다. 그러면 다음과 유사한 서비스 구성 객체 가 반환됩니다.

{
"clusterId": "<MY-CLUSTER-ID>",
"clusterName": "Cluster0",
"clusterType": "atlas",
"flexible_sync": {
"state": "enabled",
"database_name": "todo",
"permissions": {
"rules": {},
"defaultRoles": []
},
"client_max_offline_days": 30,
"is_recovery_mode_disabled": false
},
"groupName": "<MY-GROUP-NAME>",
"orgName": "<MY-ORG-NAME>",
"readPreference": "primary",
"wireProtocolEnabled": false
}

이 엔드포인트에서 반환된 동기화 구성에 대한 자세한 내용은 동기화 구성 파일 참조를 참조하세요.

4

이 구성에는 애플리케이션 에 대한 동기화 프로토콜 의 현재 상태 를 반영하는 state 필드 가 포함되어 있습니다. 이 값을 빈 string ""로 설정합니다. 이제 다음과 유사한 JSON blob과 유사해야 합니다.

{
"flexible_sync": {
"state": "",
"database_name": "todo",
"permissions": {
"rules": {},
"defaultRoles": []
},
"client_max_offline_days": 30,
"is_recovery_mode_disabled": false
}
}
5

업데이트된 동기화 서비스 구성을 adminUpdateServiceConfig 엔드포인트에 대한 PATCH 요청 의 페이로드로 보냅니다.

Device Sync를 종료한 후 다시 활성화할 수 있습니다. Device Sync를 종료하면 구성 설정과 동기화 기록을 포함하는 모든 Device Sync 메타데이터가 삭제됩니다. 동기화를 다시 활성화하려면 동기화 구성 단계를 다시 완료해야 합니다. 이전에 연결한 클라이언트는 클라이언트 재설정을 수행할 때까지 다시 연결할 수 없습니다.

Realm Mobile Sync를 일시 중지하거나 종료한 후 다시 허용할 수 있습니다. Realm Mobile Sync를 다시 활성화하면 앱이 Atlas에 대한 변경 사항을 다시 동기화할 수 있습니다. Realm Mobile Sync를 다시 활성화하면 앱이 수신 클라이언트 연결을 다시 허용하기 시작합니다.

Device Sync 를 일시 중지하면 App Services 는 구성 설정을 보존하므로 동기화 구성 단계를 건너뛸 수 있습니다. Device Sync 를 종료하거나 oplog 가 Device Sync 를 일시 중지한 시간을 경과하면 구성 설정을 다시 지정해야 합니다.

Realm Mobile Sync를 다시 활성화하려면 Atlas Device Sync 구성 및 활성화 가이드의 단계를 따르세요.

App Services API 를 사용하여 프로그래밍 방식으로 Device Sync 를 다시 활성화할 수 있습니다. 이 절차에서는 동일한 설정으로 동기화를 다시 활성화하는 데 사용할 수 있는 클러스터 에 대한 동기화 구성이 이미 있다고 가정합니다.

1

App Services Admin API 에 대한 모든 요청 에는 Authorization 헤더의 베어러 토큰으로 MongoDB Cloud API 의 유효한 최신 권한 부여 토큰이 포함되어야 합니다.

인증 토큰을 가져오는 방법에 대한 자세한 내용은 인증 토큰 가져오기를 참조하세요 .

2

앱의 그룹 및 앱 ID 를 가져옵니다.

3

이 구성에는 애플리케이션 에 대한 동기화 프로토콜 의 현재 상태 를 반영하는 state 필드 가 포함되어 있습니다. 이 값을 enabled 로 설정합니다. 이제 다음과 유사한 JSON blob과 유사해야 합니다.

{
"flexible_sync": {
"state": "enabled",
"database_name": "todo",
"permissions": {
"rules": {},
"defaultRoles": []
},
"client_max_offline_days": 30,
"is_recovery_mode_disabled": false
}
}
4

업데이트된 동기화 서비스 구성을 adminUpdateServiceConfig 엔드포인트에 대한 PATCH 요청 의 페이로드로 보냅니다.

동기화를 다시 활성화하면 들어오는 클라이언트 연결이 활성화됩니다. 그러나 경우에 따라 클라이언트가 다시 동기화하기 전에 클라이언트 앱 코드에서 클라이언트 재설정 을 수행해야 할 수 있습니다.

클라이언트가 이전에 Realm Mobile Sync에 연결한 적이 있고 Realm Mobile Sync를 종료하는 경우 코드에서 클라이언트 재설정을 처리해야 합니다. 앱에 대한 Realm Mobile Sync를 종료하면 클라이언트가 다시 연결하는 데 필요한 Realm Mobile Sync 메타데이터가 지워집니다.

이는 클러스터에 대해 보관하는 oplog 보다 Device Sync가 일시 중지된 시간이 더 긴 앱에도 적용됩니다. 예를 들어 클러스터에 대해 12 시간의 oplog만 유지하고 12 시간 이상 Device Sync를 일시 중지하는 경우 Device Sync를 종료했다가 다시 활성화해야 합니다.

클라이언트에서 클라이언트 재설정을 수행하는 방법에 대한 자세한 내용은 SDK 설명서를 참조하세요.

돌아가기

동기화 설정