Docs Menu
Docs Home
/ /
Atlas App Services
/ /

Realm Mobile Sync 프로덕션 체크리스트

이 페이지의 내용

  • Atlas cluster 구성
  • App Services 구성
  • 클라이언트 애플리케이션 코드
  • 데이터 모델 및 스키마
  • 성능 모범 사례

최적의 성능과 원활한 사용자 환경을 보장하려면 다음 권장사항을 따르는 것이 좋습니다.

서비스 제한 사항에 대한 관련 정보는 서비스 제한 사항을 참조하세요 .

전용 Atlas 클러스터 사용

프로덕션 앱은 최소한 M10 전용 cluster를 사용해야 합니다. 사용 사례에 따라 최적의 성능을 위해 상위 계층으로 업그레이드해야 할 수도 있습니다.

M0 , M2 또는 M5 와 같은 공유 클러스터를 사용하는 경우 제한된 리소스 및 다른 사용자와의 경합으로 인해 성능 문제가 발생할 수 있습니다. 프로덕션 환경으로 전환한 후 공유 계층에서 전용 계층으로 업그레이드하는 경우, Device Sync를 종료 하고 모든 클라이언트 애플리케이션을 재설정하거나 다시 설치해야 합니다.

Atlas oplog
Device Sync 에는 동기화된 클러스터 에 대한 시간 기반 oplog 에 대한 액세스 가 필요합니다. 모든 새 Atlas 클러스터는 기본값 이 기능을 제공합니다. 최상의 결과를 얻으려면 Device Sync 를 사용하여 클러스터 에 대해 48 시간의 oplog 를 유지하세요.
MongoDB 버전
가능하면 최신 버전의 MongoDB를 사용하세요. 일부 Realm Mobile Sync 최적화에서는 새로운 MongoDB 버전 기능 및 개선 사항을 사용합니다.
NVMe 최소 MongoDB 버전
클러스터 가 NVMe 스토리지 를 사용하는 hardware 에서 실행되는 경우 Device Sync 프로덕션 애플리케이션에 MongoDB 버전 6.0 이상을 사용해야 합니다.
기본 제공 스키마 유효성 검사 비활성화 또는 managed

App Services 의 스키마 는 MongoDB의 내장 스키마 유효성 검사 와 동일하지 않습니다 . Device Sync 는 내장 스키마 와 호환되지 않는 방식으로 클러스터 와 상호 작용 수 있습니다.

클러스터에서 스키마 유효성 검사를 사용하는 경우 App Services 스키마를 위해 비활성화하거나 두 스키마 유효성 검사 계층이 호환되도록 관리해야 합니다. 자세한 내용은 App Services 스키마와 내장 스키마 유효성 검사를 참조하세요.

배포 모델 및 지리적 리전
Realm Mobile Sync 애플리케이션을 구축할 때는 로컬 배포 모델 을 사용하세요. 동일한 리전 및 cloud 공급자 내에서 실행되도록 앱과 MongoDB 데이터 소스를 구성합니다.
클라이언트 최대 오프라인 시간 정의
App Services 백엔드는 기본 데이터의 변경 기록을 사용하여 클라이언트를 동기화합니다. 클라이언트 최대 오프라인 시간 을 구성하여 앱에 저장된 기록의 일수를 제어합니다. 해당 일 수 이상 동기화되지 않은 클라이언트는 다음에 백엔드에 연결할 때 클라이언트 재설정을 수행해야 합니다.
클라이언트 재설정 처리기 정의
클라이언트와 서버 기록이 서로 다른 심각한 오류 상태를 복구하려면 SDK로 동기화된 각 영역을 열 때 클라이언트 재설정 핸들러를 정의해야 합니다.
호환성이 손상되는 변경 방지
동기화를 활성화한 후에는 Realm 데이터 모델을 수정하는 방법에 제한이 있습니다. 특히, Sync는 지정된 속성의 유형 변경과 같은 Realm 객체 유형에 대한 호환성이 손상되는 변경 을 지원하지 않습니다. 호환성이 손상되는 변경을 적용하려면 업데이트된 데이터 모델과의 동기화를 종료했다가 다시 허용해야 합니다.
App Services 스키마 데이터 일관성
또는 Device Sync 와 같은 다른 도구를 사용하여 문서를 만들거나 mongosh shell 수정하는 MongoDB Compass 경우 컬렉션 의 App Services 스키마 에 대해 문서의 유효성을 검사해야 합니다. 자세한 내용은 동기화되지 않은 문서를 참조하세요.
프로덕션 부하 테스트
동기화 프로덕션 로드 테스트를 통해 확장된 프로덕션 배포에서 성능을 측정하고 문제를 식별합니다.
쓰기 트랜잭션(write transaction) 크기
대량의 데이터를 쓸 때는 하나의 대규모 트랜잭션 대신 여러 개의 작은 쓰기 트랜잭션(write transaction)을 사용하는 것이 좋습니다. Atlas cluster 버전 및 구성에 따라 16MB를 초과하는 쓰기 트랜잭션 (write transaction)은 MongoDB에서 거부되어 동기화 작업이 실패할 수 있습니다.

돌아가기

동기화를 사용하여 프로덕션으로 이동