웹 기반 클라이언트는 다음을 사용하여 카우치베이스 동기화 게이트웨이를 관리, 모니터링 및 상호 작용할 수 있습니다. RESTful 인터페이스. 와 함께 동기화 게이트웨이 3.0 릴리스를 통해 데이터베이스 관리가 이루어집니다. 관리자 REST 엔드포인트. 우편 배달원 는 이러한 엔드포인트를 테스트하고 사용할 수 있는 API 테스트, 개발 및 문서화 도구입니다.

이 블로그 게시물에서는 Postman API 클라이언트 를 사용하여 REST 인터페이스를 통해 동기화 게이트웨이를 구성, 관리 및 상호 작용할 수 있습니다.

동기화 게이트웨이용 포스트맨 컬렉션

우체부 컬렉션 폴더 및 하위 폴더로 구성된 저장된 요청 그룹입니다. 컬렉션을 시작점으로 사용하여 환경과 필요에 따라 컬렉션을 사용자 지정할 수 있습니다. 

다음과 같은 참조 세트를 제작했습니다. 우편 배달원 컬렉션 및 동기화 게이트웨이 3.0의 REST 인터페이스에 대한 해당 환경 변수 정의 파일을 제공합니다. 이러한 파일은 다음에서 사용할 수 있습니다. Github 다음 단계를 통해 빠르게 시작하고 실행할 수 있도록 설계되었습니다.

먼저 리포지토리를 복제합니다.

리포지토리에는 또한 여행 샘플 폴더와 여행 샘플 애플리케이션을 위한 사용자 지정 컬렉션에 대해 잠시 후에 설명합니다.

이제 복제된 리포지토리의 다른 콘텐츠를 살펴보겠습니다. 접미사가 붙은 세 개의 Postman 컬렉션 JSON 파일이 있습니다. postman_collection.json 이 표에 설명된 대로 Postman 환경 설정 파일이 포함되어 있습니다:

파일 / 깃허브 링크 사용된 API 인터페이스 / 문서 링크 목적
동기화 게이트웨이 3.0-Admin-API  동기화 게이트웨이 관리자 인터페이스  데이터베이스 관리, 관리, 액세스 제어 및 최종 사용자 관리를 요청합니다.
동기화 게이트웨이 3.0-Public-API 동기화 게이트웨이 공용 인터페이스 최종 사용자가 애플리케이션 데이터를 읽고 쓸 수 있습니다.
동기화 게이트웨이 3.0-메트릭스-API 동기화 게이트웨이 메트릭 인터페이스  Prometheus 및 사용자 지정 JSON 형식의 클러스터 수준 통계에 액세스할 수 있습니다.
동기화 게이트웨이 3.0 환경 환경 정의 파일에서 변수를 정의합니다. 변수는 사용자 환경에 맞는 값으로 사용자 지정해야 합니다.

Postman 클라이언트 사용

  • 다운로드 포스트맨 클라이언트 를 플랫폼에 무료로 제공합니다. 
  • 여기에 설명된 지침을 따르세요. 소개 게시물 를 클릭하여 컬렉션 및 환경 파일을 Postman으로 가져옵니다. 
  • 배포에 따라 환경 파일 설정을 업데이트하고 동기화 게이트웨이에 대한 요청 실행을 시작하세요.

설정이 끝나면 다음 스크린샷과 같은 모양이 될 것입니다:

REST API를 통해 동기화 게이트웨이 관리하기: 예제 연습

부트스트랩이 완료되고 Couchbase Server 클러스터에 연결되면 동기화 게이트웨이는 REST 엔드포인트를 통해 관리됩니다. 이제 구체적인 예시를 통해 프로세스를 살펴보겠습니다.

GitHub 리포지토리에는 동기화 게이트웨이를 관리하기 위한 사용자 지정 버전의 Postman 컬렉션이 포함되어 있습니다. 여행용 샘플 버킷. 다음 컬렉션은 여행 샘플 폴더로 이동합니다.

파일 / 깃허브 링크 목적
Sync-Gateway-3.0-TravelSample-Admin-API 동기화 게이트웨이 생성 요청 여행 샘플 데이터베이스를 구성 및 관리하고 동기화 게이트웨이 사용자를 만들 수 있습니다. 이 컬렉션의 모든 요청은 인증됩니다.
동기화 게이트웨이 3.0-TravelSample-Public-API 에서 문서를 만들고, 업데이트하고, 액세스합니다. 여행 샘플 데이터베이스에 저장됩니다. 이 컬렉션의 모든 요청은 인증됩니다.
동기화 게이트웨이 3.0-TravelSample-Metrics-API 동기화 게이트웨이 클러스터와 관련된 통계를 검색합니다. 이 컬렉션의 모든 요청은 인증됩니다.
동기화 게이트웨이 3.0-여행 샘플 환경 사용자 지정 환경 파일입니다.

테스트 결과 보기

컬렉션에 있는 대부분의 요청에는 요청의 성공 여부를 확인하기 위한 간단한 테스트가 포함되어 있습니다. 이 스크린샷은 테스트 코드가 포함된 테스트 탭과 하단의 테스트 결과 콘솔 창을 보여줍니다.

Viewing Test Results

요청 연결

요청 연쇄는 요청의 출력을 가져와 후속 요청의 입력으로 사용합니다. 이는 요청 실행 결과로 환경 변수를 동적으로 업데이트하여 수행되며 요청을 수동으로 편집할 필요가 없습니다.

예를 들어 문서를 만들면 새 문서 수정본이 만들어집니다. 문서의 개정 ID 를 통해 새 문서의 _rev 필드를 입력합니다. 그러면 요청과 연결된 테스트가 요청의 _rev 값을 설정하고 rev 환경 변수입니다.

아래 스크린샷은 환경 변수를 설정하는 코드와 채워진 본문의 출력 JSON을 보여줍니다.

이후 문서에 대한 업데이트 요청을 하면 revisionId 에서 업데이트할 문서의 rev 환경 변수에 이전 요청에 의해 채워진 값을 반환합니다.

이 스크린샷은 마우스 오버 시 rev 변수입니다:

카우치베이스 및 동기화 게이트웨이와 Docker 설치하기

컬렉션을 실행하려면 Couchbase Server 및 동기화 게이트웨이가 있는 환경이 필요합니다. Docker 컨테이너에 배포하는 것이 가장 간단한 옵션입니다. 모든 것이 미리 구성되어 있는 사전 빌드된 이미지가 있습니다.

Docker 가 컴퓨터에 설치되어 있어야 합니다. Windows의 경우 관리자 권한이 필요할 수 있습니다. Docker에 충분한 메모리와 코어가 할당되어 있는지 확인합니다. 최소 3GB의 RAM이 권장됩니다.

Docker 네트워크 설정

라는 이름의 도커 네트워크를 만듭니다. 워크샵 다음 도커 명령을 실행하여

사용자 지정 Docker 이미지가 있습니다. 를 사용할 수 있습니다:

이미지는 다음과 같이 사전 구성된 상태로 제공됩니다. 여행 샘플 버킷과 세 명의 RBAC 사용자:

  • 관리자 - 동기화 게이트웨이가 카우치베이스 서버에 연결할 때 사용합니다.
  • sgw-cluster - 동기화 게이트웨이를 통한 클러스터 수준 작업의 경우 관리자/메트릭 REST 엔드포인트
  • sgw-admin - 동기화 게이트웨이 관리자/메트릭 REST 엔드포인트를 통한 동기화 게이트웨이 데이터베이스 수준 관리 작업용

다음 Docker 명령을 사용하여 서버를 배포합니다:

카우치베이스 서버 설치 테스트

서버를 배포하고 완전히 초기화하는 데 몇 분 정도 걸립니다. 조금만 기다려주세요. 이 명령을 사용하여 상태를 확인할 수 있습니다:

설정이 완료되면 다음과 같은 화면이 표시됩니다:

웹 브라우저에서 카우치베이스 웹 UI URL을 엽니다: http://localhost:8091 

로그인 화면에서 다음 계정으로 로그인합니다. 관리자 비밀번호를 입력합니다: 비밀번호.

로 이동합니다. 버킷 메뉴를 클릭하고 여행 샘플 버킷이 로드됩니다. 이 버킷에는 샘플 데이터가 들어 있습니다. 이 스크린샷에서 버킷이 존재하고 많은 문서가 로드된 것을 볼 수 있습니다:

로 이동합니다. 보안 메뉴를 클릭하고 아래와 같이 세 명의 사용자가 생성되었는지 확인합니다:

동기화 게이트웨이 설치 및 테스트 

동기화 게이트웨이는 시작 구성 파일로 부트스트랩해야 합니다. 동기화 게이트웨이의 동기화 게이트웨이 구성-여행 샘플 부트스트랩.json 파일은 여행 샘플 폴더에 복제된 리포지토리를 저장합니다.

다운로드한 구성 파일이 들어 있는 폴더로 전환하고 다음 세 가지 명령을 실행하여 실행 중인 동기화 게이트웨이 인스턴스를 모두 중지합니다:

이제 Docker를 사용하여 동기화 게이트웨이를 시작하려면 운영 체제에 따라 다음 명령을 실행합니다. 명령은 하나의 긴 줄로 되어 있으며 가독성을 위해 여기서는 여러 줄로 표시했습니다:

Windows

비 Windows 머신

동기화 게이트웨이 설치 테스트

Docker로 로그 메시지를 확인하여 동기화 게이트웨이가 실행 중인지 확인할 수 있습니다:

여러 로그 메시지가 표시되며 그 중 오류는 없어야 합니다.

동기화 게이트웨이가 실행 중인지 확인하려면 다음으로 이동합니다. http://localhost:4984 웹 브라우저에서
이와 유사한 메시지가 표시될 것입니다:

포스트맨 사용

Postman API 클라이언트를 실행하고 세 가지를 모두 가져옵니다. 여행 샘플 컬렉션과 해당 환경 파일(예: 동기화 게이트웨이 3.0-여행 샘플 환경. 환경 파일을 살펴보는 데 시간을 할애하세요.

모든 요청은 관련 사용자를 인증에 사용합니다. 그러나 요청을 실행할 때 비밀번호를 제공해야 합니다. 사용자는 다음과 같은 비밀번호로 설정됩니다. 비밀번호. 따라서 권한 부여 헤더 올바른 비밀번호로 요청을 처리합니다.

정신력 테스트

먼저, 통신이 정상적으로 작동하는지 확인하기 위해 정상 테스트를 해보겠습니다. 통신이 정상적으로 작동하는지 동기화 게이트웨이 정보 얻기 요청에 대한 관리자 API 컬렉션으로 이동합니다. 응답에 동기화 게이트웨이에 대한 세부 정보가 표시되어야 합니다. 아래 스크린샷은 본문 창을 클릭합니다.

동기화 게이트웨이에서 여행 샘플 데이터베이스 생성 및 구성

클러스터 수준 요청을 하는지, 데이터베이스 수준 요청을 하는지에 따라 권한 부여 헤더는 {클러스터 관리자}} 또는 {{dbadmin}}를 각각 입력합니다. 비밀번호는 "비밀번호' 버튼을 클릭합니다.

데이터베이스 생성을 포함한 동기화 게이트웨이 데이터베이스 관리는 관리자 REST 엔드포인트를 통해 처리되며 동기화 게이트웨이 데이터베이스가 작동하려면 동기화 게이트웨이 데이터베이스가 필요합니다. 데이터베이스를 만들려면 동기화 게이트웨이 데이터베이스 만들기 요청에 대한 동기화 게이트웨이 3.0 트래블샘플 관리자 AP아래 스크린샷 애니메이션과 같이 수집합니다.

동기화 게이트웨이 데이터베이스가 생성되면 동기화 함수 만들기, 가져오기 필터 설정 등과 같은 다른 작업을 데이터베이스에서 실행할 수 있습니다.

동기화 게이트웨이 사용자 만들기

공용 REST 엔드포인트를 통해 동기화 게이트웨이 데이터베이스와 상호 작용을 시작하기 전에 먼저 동기화 게이트웨이 사용자. 이를 위해 새 사용자 만들기 요청에 대한 동기화 게이트웨이 3.0 트래블샘플 관리자 API 컬렉션을 추가합니다. 그러면 다음과 같은 이름의 사용자가 생성됩니다. 데모 의 비밀번호로 비밀번호. 사용자가 생성되면 공용 REST 엔드포인트를 사용하여 데이터베이스와 상호 작용할 수 있습니다.

Sync Gateway 3.0

데이터 액세스

데이터베이스의 문서에 액세스하고 수정하는 작업은 관리자 REST API 또는 공개 REST API를 통해 수행할 수 있습니다. 이 예에서는 공용 인터페이스를 사용합니다. 모든 요청은 {{사용자 이름}} 를 통해 생성된 사용자 새 사용자 만들기 요청에 대해 설명했습니다. 의 비밀번호를 사용합니다. 비밀번호 를 클릭합니다.

그리고 여행 샘플 버킷에는 샘플 데이터가 미리 로드되어 있습니다. 따라서 샘플 버킷의 모든 문서를 검색하려면 문서 가져오기 요청에 대한 동기화 게이트웨이 3.0 트래블샘플 공용 API 컬렉션. 교체 newdoc 와 함께 doc 를 버킷에서 기존 문서를 검색하는 요청에 포함시켜야 합니다.

새 문서를 만들고 다음에서 요청을 실행하여 편집할 수 있습니다. 동기화 게이트웨이 3.0 트래블샘플 공개 API 컬렉션을 수집합니다.

모니터링

마지막으로 동기화 게이트웨이를 모니터링하려면 Prometheus 형식의 런타임 통계 디버깅/모니터링 요청에 대한 동기화 게이트웨이 3.0 트래블 샘플 메트릭 API 를 입력합니다.

다음 단계

다른 요청을 실행하고 필요에 따라 요청을 사용자 지정하여 다른 REST API에 익숙해지세요.

이 리포지토리의 Postman 컬렉션은 관리자와 개발자가 동기화 게이트웨이를 시작할 수 있도록 편의를 위해 공유된 것입니다. 이 컬렉션은 카우치베이스에서 공식적으로 지원하지 않으므로 REST API가 발전함에 따라 컬렉션이 최신 상태로 유지된다는 보장은 없습니다. 이를 위해 컬렉션을 최신 상태로 유지하기 위한 기여를 환영합니다! 

질문이나 피드백이 있으면 아래에 댓글을 남기거나 트위터로 언제든지 문의해 주세요. @rajagp 또는 이메일을 보내주세요. priya.rajagopal@couchbase.com. . 카우치베이스 포럼 를 통해 질문할 수 있습니다.

감사

다음 분들께 감사드립니다. 아이작 람바트동기화 게이트웨이 팀의 엔지니어에게 이 블로그 게시물에 대한 의견을 보내주셨습니다.

리소스

작성자

게시자 프리야 라자고팔, 제품 관리 부문 선임 이사

프리야 라자고팔은 클라우드 및 엣지용 개발자 플랫폼을 담당하는 Couchbase의 제품 관리 수석 이사입니다. 그녀는 20년 이상 여러 기술 및 제품 리더십 직책을 맡으며 전문적으로 소프트웨어를 개발해 왔으며, 그중 10년 이상은 모바일 기술에 집중했습니다. TISPAN IPTV 표준 대표로서 IPTV 표준 사양에 핵심적인 기여를 했습니다. 네트워킹 및 플랫폼 보안 분야에서 22개의 특허를 보유하고 있습니다.

댓글 남기기