카펠라 앱 서비스 는 모바일, 데스크톱 및 IoT 프론트엔드 애플리케이션을 위한 완전 관리형 클라우드 백엔드입니다. 반면, 다른 쪽 끝에는 "엣지 컴퓨팅" 는 최근 몇 년 동안 많은 주목을 받고 있습니다. 엣지 컴퓨팅은 기본적으로 데이터가 생성되고 소비되는 위치인 엣지에 컴퓨팅과 스토리지를 더 가깝게 배치하는 것을 목표로 하는 분산 컴퓨팅 토폴로지입니다. 엣지에서 실행되는 애플리케이션은 지연 시간이 짧은 실시간 응답, 클라우드에 대한 네트워크 대역폭 비용 절감, 민감한 데이터를 엣지에서 처리하도록 규정하는 데이터 프라이버시 및 규제 준수 등의 이점을 누릴 수 있습니다.
엣지 컴퓨팅은 클라우드 컴퓨팅을 보완합니다. 클라우드는 계속해서 진실의 원천 역할을 합니다. 엣지에서 처리된 데이터는 최종적인 일관성과 데이터 무결성을 위해 클라우드로 전송됩니다. 그렇다면 Capella의 관리형 클라우드 환경의 강력한 기능과 자체 관리형 온프레미스 엣지 배포를 결합하는 배포 토폴로지를 어떻게 구현할 수 있을까요? 이는 동기화 게이트웨이 간 복제 프로토콜은 카우치베이스 클라우드와 엣지 클러스터 간에 엔터프라이즈급 확장성과 보안성을 갖춘 동기화를 제공합니다.
이 게시물에서는 Capella 관리형 App Services 배포와 자체 관리형 Couchbase Mobile 배포 간에 하이브리드 배포를 설정하는 방법에 대한 예를 살펴봅니다.
하이브리드 배포 토폴로지 및 사용 사례
이 글의 맥락에서 하이브리드 배포 토폴로지는 완전 관리형 Capella 앱 서비스가 하나 이상의 자체 관리형 카우치베이스 모바일 클러스터와 데이터를 동기화하는 토폴로지를 지칭하기 위해 사용합니다. 자체 관리형 카우치베이스 모바일 클러스터는 퍼블릭 클라우드, 프라이빗 클라우드 또는 데이터 센터 또는 온프레미스에서 사용자가 배포하고 관리하는 클러스터일 수 있습니다. 간단한 하이브리드 토폴로지는 아래와 같습니다. 이 모델에서 데이터는 Capella 앱 서비스와 자체 관리형 카우치베이스 모바일 클러스터에 저장 및 처리됩니다. 데이터는 동기화 게이트웨이 복제를 사용하여 클라우드와 엣지 클러스터 간에 동기화됩니다. 모바일 및 데스크톱 클라이언트 앱은 Capella 앱 서비스 또는 자체 관리형 Couchbase Mobile 클러스터와 데이터를 동기화할 수 있습니다.
이 문서에 설명된 분산 클라우드 배포의 몇 가지 사용 사례가 있습니다. 백서. 여기에는 인터넷 중단에 대한 복원력 및 데이터 처리 지연 시간 단축이 포함됩니다.
특히 하이브리드 배포 토폴로지는 다음과 같은 이점을 제공합니다.
-
- 데이터 개인정보 보호/거버넌스: 민감한 데이터는 자체 관리, 프라이빗 또는 온프레미스 데이터 센터에만 저장 및 처리해야 한다는 규제 정책 이행
- 카펠라로의 단계적 마이그레이션: 분명하지는 않지만, Capella의 하이브리드 토폴로지는 기존 온프레미스 카우치베이스 모바일 배포를 Capella로 마이그레이션하는 작업을 간소화합니다. 반면 XDCR 기반 마이그레이션 를 사용하면 온프레미스 모바일 클러스터를 Capella 앱 서비스로 원샷 마이그레이션할 수 있으며, 모든 클라이언트는 자체 관리 클러스터에서 Capella로 전환해야 합니다. 반면에 양방향 동기화 게이트웨이 복제를 사용하는 하이브리드 토폴로지는 단계적 마이그레이션이 가능하므로 클라이언트가 시간이 지남에 따라 마이그레이션할 수 있습니다.
- 신흥 클라우드 제공업체 엣지 서비스: 클라우드 서비스 제공업체는 다음과 같은 서비스를 통해 인프라를 엣지로 계속 확장하고 있습니다. AWS 로컬 영역사용자는 클라우드 공급자 네트워크의 에지에 배포된 자체 관리형 카우치베이스 모바일 클러스터를 Capella 앱 서비스와 연결하여 이러한 서비스를 활용할 수 있습니다.
구성
활성 클러스터
복제가 초기화되거나 예약되는 동기화 게이트웨이 클러스터는 활성 클러스터. 연결을 초기화하는 클래식 클라이언트-서버 연결의 클라이언트와 동일하다고 생각하면 됩니다. 하이브리드 배포에서 이것은 자체 관리형 Couchbase Mobile 클러스터에 해당합니다. 즉, 모든 복제(양방향 및 단방향)는 자체 관리 측에서 초기화됩니다.
패시브 클러스터
복제 대상인 동기화 게이트웨이 클러스터는 패시브 클러스터. 들어오는 연결을 수신 대기하는 기존 클라이언트-서버 연결의 서버와 동일하다고 생각하면 됩니다.
워크스루
Capella 앱 서비스로 하이브리드 토폴로지를 설정하는 방법을 보여주는 간단한 예제를 살펴보겠습니다. 간결성을 위해 동기화 게이트웨이를 온프레미스 또는 Capella 앱 서비스에서 배포하고 프로비저닝하는 방법에 대한 자세한 내용은 설명하지 않습니다. Capella 앱 서비스를 처음 사용하는 경우에는 앱 서비스 시작하기 가이드를 참조하세요. 카우치베이스 모바일을 처음 사용하는 경우 다음을 참조하세요. 동기화 게이트웨이 시작하기 가이드.
초기 상태
카펠라 앱 서비스를 통한 하이브리드 배포를 지원하기 위해 활성 클러스터 자체 관리형 모바일 클러스터인 동기화 게이트웨이 버전 v3.0.5 또는 v2.8.4를 실행 중이어야 합니다.
자체 관리형 클러스터
다음을 사용하여 검색한 배포의 자체 관리 측에 있는 동기화 게이트웨이 데이터베이스 구성입니다. GET db 호출합니다.
요청
1 2 3 4 |
curl --위치 --요청 GET 'https://on-prem-syncgateway:4985/travel-sample/_config' \ --헤더 '수락: application/json' \ --헤더 '콘텐츠 유형: 애플리케이션/json' \ --헤더 'Authorization: 기본 c2d3X2FkbWluOnBhc3N3b3Jk' |
응답
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
{ "서버": "couchbases://온프레미스-카우치베이스-서버", "bucket": "travel-sample", "username": "sgw_admin", "비밀번호": "xxxxx", "name": "travel-sample", "동기화": "\nfunction sync(doc, oldDoc) {\n if (doc.type) {\n channel(\"channel.\"+doc.type);\n }\n else {\n channel(\"!\");\n }\n}", "import_docs": true, "캐시": { "rev_cache": {}, "채널_캐시": {} }, "지원되지 않음": { "경고_임계값": { "xattr_size_bytes": 943718, "channels_per_doc": 50, "액세스 및 역할 부여 문서별": 50, "channels_per_user": 50000, "채널_이름_크기": 250 } }, "enable_shared_버킷_액세스": true, "NUM_INDEX_REPLICAS": 0, "delta_sync": { "enabled": true } } |
보시다시피 구성은 간단합니다.
-
- 라는 이름의 동기화 게이트웨이 데이터베이스가 있습니다.여행 샘플" 뒤에 "여행 샘플" 버킷을 추가합니다. "travel-sample" 버킷은 서버에 로드되는 샘플 버킷입니다.
- "sgw_admin"는 동기화 게이트웨이를 카우치베이스 서버에 인증하는 데 사용되는 동기화 게이트웨이 사용자입니다.
- 동기화 기능은 다음을 수행합니다:
- "유형" 속성은 해당 문서 유형에 해당하는 채널에 할당됩니다. 예를 들어, 문서에 "type":"항공사" 라는 이름의 채널에 할당됩니다. "channel.airline", 문서에 "type":"airport" 라는 이름의 채널에 할당됩니다. "channel.airport" 등입니다.
- 문서에 "유형' 속성은 공개 채널에 할당됩니다.
나머지 구성은 기본값입니다.
카펠라 앱 서비스
이것은 Capella 앱 서비스 측의 구성입니다.
나는 앱 엔드포인트 "여행 샘플"여행 샘플" 데이터베이스에 의해 백업됩니다. 제 예제에서는 "여행 샘플" 데이터베이스는 빈.
그리고 액세스 제어 기능 는 자체 관리 측의 동기화 기능과 동일합니다.
나는 앱 사용자 "demo@example.com" 액세스 권한이 부여된 사람channel.airline" 채널(시스템 공개 "!" 채널에 추가).
동기화 게이트웨이 간 복제 설정하기
자체 관리형 Couchbase 모바일 클러스터는 "활성 클러스터"이며, 복제가 이루어지는 클러스터입니다. MUST 를 초기화합니다.
라는 이름의 양방향 연속 복제를 초기화합니다.푸시앤풀-위드-타겟-컨티뉴어스"를 사용하여 자체 관리 동기화 게이트웨이의 PUT _복제 API.
요청
데이터 동기화 유효성 검사
마지막으로 Capella 앱 서비스와 자체 관리 클러스터 간에 양방향 동기화를 설정했기 때문에 어느 쪽 엔드포인트에서 변경한 문서가 다른 쪽 엔드포인트로 동기화되는지 확인할 수 있습니다.
자체 관리형 카우치베이스 모바일 클러스터에서 카펠라 앱 서비스로 동기화
아래 그림과 같이 자체 관리 문서에 대한 변경 내용은 자동으로 클라우드로 동기화됩니다. 이는 복제에 필터를 설정하지 않았기 때문입니다.

자체 관리형 카우치베이스 서버(오른쪽)의 문서 변경 내용이 카펠라(왼쪽)에 동기화됩니다.
카펠라 앱 서비스에서 자체 관리형 카우치베이스 모바일 클러스터로 동기화
반대로 속성이 있는 문서에 대한 변경 사항만 "유형" 의 "항공사"는 자체 관리 클러스터로 동기화됩니다. 그 이유는 Capella 앱 서비스의 앱 사용자, "demo@example.com"에만 액세스 권한이 부여됩니다. "channel.airline". 따라서 앱 사용자는 "유형"같음"항공사“.

Capella(왼쪽)의 문서 변경 내용이 자체 관리형 Couchbase Server(오른쪽)에 동기화됩니다.
복제 모니터링
구성이 완료되고 실행되면 다음을 통해 모니터링할 수 있습니다. 복제 상태 엔드포인트.
리소스
다음을 수행할 수 있습니다. 카펠라 앱 서비스 체험 를 지금 무료로 사용하고 자체 관리형 에지 클러스터로 하이브리드 토폴로지를 배포하세요.
동기화 게이트웨이 v3.0.5 또는 v2.8.4 버전을 배포해야 하며, 다음에서 다운로드할 수 있습니다. 다운로드 페이지로 이동합니다.
자세한 내용을 알아보려면 여기에서 자세한 정보를 확인할 수 있습니다:
그리고 카우치베이스 포럼 는 질문이 있을 때 연락하기 좋은 곳입니다. 아래에 댓글을 남기거나 다음을 통해 언제든지 문의해 주세요. 트위터 또는 이메일 보내기
감사
다음 분들께 감사드립니다. 마크 갬블 의 블로그 게시물에 대한 리뷰와 피드백을 보내주셨습니다.