Docs Menu
Docs Home
/ /
Atlas App Services
/

읽기 설정

이 페이지의 내용

  • 개요
  • 읽기 설정을 지정해야 하는 경우
  • 절차

연결된 MongoDB Atlas cluster 에 대한 읽기설정 (read preference) 을 구성하여 Atlas App Services 가 데이터베이스 읽기 요청을 라우팅하는 복제본 세트 멤버 의 유형을 제어할 수 있습니다. 태그 세트 를 지정하여 복제본 세트 의 특정 멤버를 대상으로 지정할 수도 있습니다.

연합 데이터 소스에서는 읽기 설정 (read preference)을 지정할 수 없습니다.

기본적으로 Atlas App Services는 primary 의 읽기 설정을 사용하여 모든 읽기 요청을 복제본 세트의 프라이머리 노드 를 통해 라우팅합니다.

대부분의 사용 사례에는 기본 읽기 설정 (read preference)(primary)이면 충분합니다. 다음을 수행해야 하는 경우 cluster 읽기 설정 (read preference)을 지정하는 것이 좋습니다.

  • 워크로드 보고에 최적화된 특수 인덱스가 있는 분석 노드와 같이 사용자 지정 구성이 있는 특정 보조 노드에서 읽습니다.

  • 전역적으로 분산된 복제본 세트의 특정 리전에 있는 노드에서 읽습니다.

  • 복제본 세트 페일오버 중에 읽기 가용성을 유지합니다. 즉, primary 노드가 없는 경우 잠재적으로 오래된 데이터를 계속 읽습니다.

1

App Services UI 의 cluster 구성 화면에서 연결된 클러스터 에 대한 읽기 설정 (read preference) 을 구성할 수 있습니다. 구성 화면으로 이동하려면 Linked Data Sources Manage 왼쪽 탐색에서 아래에 있는 을 클릭합니다. 데이터 소스 목록에서 읽기 설정 (read preference) 을 구성하려는 클러스터 를 선택합니다.

2

cluster 구성 화면의 Read Preference 드롭다운에서 모드를 선택합니다.

읽기 설정 (read preference) 드롭다운 메뉴

다음과 같은 읽기 설정 (read preference) 모드를 사용할 수 있습니다.

모드
설명
Atlas App Services는 모든 읽기 작업을 현재 복제본 세트 프라이머리 노드 로 라우팅합니다. 이는 기본 읽기 설정 모드입니다.
Atlas App Services는 모든 읽기 작업을 현재 복제본 세트 프라이머리 노드 (사용 가능한 경우)로 라우팅합니다. 자동 페일오버 와 같이 프라이머리 노드를 사용할 수 없는 경우 읽기 요청은 대신 세컨더리 노드 로 라우팅됩니다.
Atlas App Services는 모든 읽기 작업을 현재 복제본 세트 세컨더리 노드 중 하나로 라우팅합니다.
Atlas App Services는 모든 읽기 작업을 복제본 세트의 사용 가능한 세컨더리 노드 중 하나로 라우팅합니다. 사용할 수 있는 세컨더리가 없는 경우 읽기 요청은 대신 복제본 세트 프라이머리 로 라우팅됩니다.
Atlas App Services는 클라이언트에 비해 네트워크 지연 시간이 가장 짧은 복제본 세트 멤버 로 읽기 작업을 라우팅합니다.
3

primary 이외의 읽기 설정 (read preference) 을 지정하는 경우 하나 이상의 읽기 설정 (read preference) 태그 를 지정할 수도 있습니다. 읽기 요청 을 제공 하려면 복제본 세트 멤버 가 노드 구성에 지정된 읽기 설정 (read preference) 태그를 모두 포함해야 합니다.

참고

Atlas cluster 태그 세트

MongoDB Atlas 클러스터는 멤버 유형에 따라 각 멤버 노드 에 대해 사전 정의된 태그를 지정하다 세트로 구성됩니다. 어떤 태그가 Atlas cluster 에서 정의된 노드인지에 대한 자세한 내용은 Atlas Replica Set Tags(Atlas 복제본 세트 태그)를 참조하세요.

읽기 설정 (read preference) 태그를 지정하려면 Add Tag 을 클릭한 다음 Read Preference Tags 표의 새 행에 태그의 KeyValue 를 입력합니다.

읽기 설정 (read preference) 태그 표
4

Read PreferenceRead Preference Tags 을(를) 지정했으면 Save 를 클릭합니다. 저장되면 Atlas App Services는 기본 설정에 따라 cluster에 대해 들어오는 모든 데이터베이스 읽기 요청을 라우팅합니다.

1

App Services CLI 를 사용하여 연결된 클러스터 에 대한 읽기 설정 (read preference) 을 정의하려면 애플리케이션 구성 파일의 로컬 복사본이 필요합니다.

최신 버전의 앱의 로컬 사본을 가져오려면 다음을 실행하세요.

appservices pull --remote="<Your App ID>"

Realm UI의 Deploy > Export App 화면에서 애플리케이션의 구성 파일 사본을 다운로드할 수도 있습니다.

2

연결된 클러스터 에 대한 읽기 설정 (read preference) 을 구성하려면 클러스터의 config.json 파일 을 열고 config.readPreference 값을 설정하다 합니다.

/data_sources/<Service Name>/config.json
{
"name": "<MongoDB Service Name>",
"type": "mongodb-atlas",
"config": {
"readPreference": "<Read Preference Mode>"
}
}

다음과 같은 읽기 설정 (read preference) 모드를 사용할 수 있습니다.

모드
설명
Atlas App Services는 모든 읽기 작업을 현재 복제본 세트 프라이머리 노드 로 라우팅합니다. 이는 기본 읽기 설정 모드입니다.
Atlas App Services는 모든 읽기 작업을 현재 복제본 세트 프라이머리 노드 (사용 가능한 경우)로 라우팅합니다. 자동 페일오버 와 같이 프라이머리 노드를 사용할 수 없는 경우 읽기 요청은 대신 세컨더리 노드 로 라우팅됩니다.
Atlas App Services는 모든 읽기 작업을 현재 복제본 세트 세컨더리 노드 중 하나로 라우팅합니다.
Atlas App Services는 모든 읽기 작업을 복제본 세트의 사용 가능한 세컨더리 노드 중 하나로 라우팅합니다. 사용할 수 있는 세컨더리가 없는 경우 읽기 요청은 대신 복제본 세트 프라이머리 로 라우팅됩니다.
Atlas App Services는 클라이언트에 비해 네트워크 지연 시간이 가장 짧은 복제본 세트 멤버 로 읽기 작업을 라우팅합니다.
3

primary 이외의 읽기 설정 (read preference) 을 지정하는 경우 하나 이상의 읽기 설정 (read preference) 태그 를 지정할 수도 있습니다. 읽기 요청 을 제공 하려면 복제본 세트 멤버 가 노드 구성에 지정된 읽기 설정 (read preference) 태그를 모두 포함해야 합니다. 클러스터 에 대한 읽기 설정 (read preference) 태그 세트 를 지정하려면 primary 이외의 readPreference 를 지정했는지 확인한 다음 하나 이상의 태그를 지정하다 정의 객체를 config.readPreferenceTagSets 에 추가합니다.

/data_sources/<Service Name>/config.json
{
"name": "<MongoDB Service Name>",
"type": "mongodb-atlas",
"config": {
"readPreference": "<Read Preference Mode (other than primary)>",
"readPreferenceTagSets": [
{ <Tag Key>: <Tag Value> },
...
],
}
}

참고

Atlas cluster 태그 세트

Atlas 클러스터는 멤버 유형에 따라 각 멤버 노드 에 대해 사전 정의된 태그를 지정하다 세트로 구성됩니다. 어떤 태그가 Atlas cluster 에서 정의된 노드인지에 대한 자세한 내용은 Atlas Replica Set Tags(Atlas 복제본 세트 태그)를 참조하세요.

4

클러스터 에 대한 읽기 설정 (read preference) 을 설정하다 한 후에는 업데이트된 구성을 원격 앱 에 푸시할 수 있습니다. App Services CLI 는 푸시 시 업데이트 를 즉시 배포합니다.

appservices push --remote="<Your App ID>"

돌아가기

클라이언트 앱에서 Atlas 쿼리