카우치베이스 모바일

FakeIt 시리즈 5/5: 동기화 게이트웨이를 통한 신속한 모바일 개발

아론 벤튼 는 혁신적인 모바일 애플리케이션 개발을 위한 창의적인 솔루션을 전문으로 하는 숙련된 아키텍트입니다. 그는 10년 이상 ColdFusion, SQL, NoSQL, JavaScript, HTML 및 CSS를 포함한 전체 스택 개발 분야에서 경력을 쌓았습니다. 현재 노스캐롤라이나주 그린즈버러에 위치한 Shop.com의 애플리케이션 아키텍트인 Aaron은 카우치베이스 커뮤니티 챔피언.

Aaron Benton

마지막 포스팅에서는 FakeIt 시리즈를 통해 어떻게 하면 FakeIt + 카우치베이스 서버 + 동기화 게이트웨이 를 사용하여 모바일 개발을 위한 로컬 환경을 구축할 계획입니다. 이를 위해 다음과 같은 방법을 사용할 것입니다. Docker 그리고 도커-컴포즈. 면책 조항: 저는 Docker 전문가가 아니며, 개발 환경과 데이터 집합을 빠르게 설정하기 위해 수행한 작업의 예시일 뿐입니다.

Docker

두 개의 도커 컨테이너를 사용할 것입니다. 카우치베이스 서버 그리고 하나는 동기화 게이트웨이. 단순히 couchbase:최신 및 couchbase/sync-gateway:최신에서 가져온 docker-compose.yaml 파일을 정의할 수 있지만 여전히 수동 구성이 필요하며 애플리케이션을 최대한 자동화할 수 있기를 원합니다. 그러기 위해서는 이 두 컨테이너에 자체 스크립트와 구성을 추가하여 자체 컨테이너를 구축해야 합니다.

먼저 ./.docker/couchbase/Dockerfile에서 컨테이너를 빌드하는 docker-compose.yaml 파일은 다음과 같이 보입니다.

이 Docker파일은 실제로 구성 스크립트를 복사하고 해당 스크립트를 실행하는 두 가지 작업만 수행합니다. configure-node.sh 스크립트는 다음과 같습니다.

 

configure-node.sh 스크립트는 몇 가지 작업을 수행합니다:

  1. 구성할 수 있도록 Couchbase 서비스가 시작되기를 기다리는 중입니다.
  2. 클러스터 구성 초기화하기
  3. 전자상거래 버킷 만들기

이제 Couchbase 컨테이너가 빌드되었으므로 다음으로 빌드해야 할 컨테이너는 Sync Gateway 컨테이너입니다. 기본적으로 동기화 게이트웨이 컨테이너는 해마 메모리 전용 동기화 게이트웨이 버킷을 사용합니다. 스토리지 및 액세스 설정을 업데이트할 수 있도록 자체 sync-gateway.json 파일을 제공하여 이 구성을 업데이트해야 합니다. 마지막으로 동기화 게이트웨이 컨테이너는 공용 포트인 4984 포트만 노출하지만 개발 목적이므로 관리자 포트인 4985 포트를 노출하겠습니다.

 

다시 한 번 말씀드리지만 이것은 개발 목적으로만 사용됩니다. 어디에서든 관리자 인터페이스에 대한 액세스를 허용하거나 다음을 활성화해서는 안 됩니다. 게스트 특별한 이유가 없는 한 동기화 게이트웨이에 액세스할 수 없습니다.

이제 앱의 구조는 다음과 같습니다:

app structure

이제 Docker 컨테이너를 구성하고 docker-compose.yaml 파일을 설정했으므로 컨테이너를 빌드하고 시작해야 합니다. 애플리케이션 디렉토리에서 다음 명령을 실행하여 이를 수행합니다:

참고: 스크린캐스트에서는 분리된 모드로 컨테이너를 실행하기 위한 -d 매개변수를 생략합니다.

모델

이제 컨테이너가 시작되었으므로 데이터 세트를 생성하기 전에 다음으로 해야 할 일은 채널 속성을 지원하도록 모델을 업데이트하는 것입니다.

이 모델은 사용자별 채널에만 동기화됩니다.

재미로 이 모델을 모든 사용자가 구독할 수 있는 글로벌 채널에 게시할 예정입니다.

이 모델은 사용자별 채널에만 동기화됩니다.

이제 채널을 지원하도록 모델이 업데이트되었으므로 무작위 데이터 집합을 생성하여 다음 위치에 푸시할 수 있습니다. 카우치베이스 서버 를 통해 동기화 게이트웨이 REST API. 우리는 말합니다 FakeIt 다음 명령을 사용하여 이 작업을 수행합니다:

개발 목적으로 게스트의 액세스 권한을 허용했습니다. 동기화 게이트웨이. 그러나 게스트 액세스를 사용하지 않도록 설정한 경우에도 여전히 FakeIt 다음 명령을 사용하여 기존 사용자에 대한 사용자 이름과 비밀번호를 지정하면 됩니다:

생성된 데이터 세트가 출력되기 전입니다, FakeIt 에 대해 인증합니다. 동기화 게이트웨이 를 클릭해 필요한 세션 정보를 검색합니다.

테스트

다음으로 해야 할 일은 문서를 로컬로 동기화할 수 있도록 동기화 게이트웨이 사용자를 만드는 것입니다. 이 테스트에서는 사용자 모델에서 임의의 사용자 문서를 가져와서 그 문서에서 사용자를 만들겠습니다. 이 예에서는 user_1001이 될 것이며, curl 명령을 사용하여 사용자를 만들겠습니다:

 

blog5 example3

애플리케이션

저희는 작은 VueJS 프로젝트를 활용하는 PouchDB 를 클릭하여 동기화 게이트웨이에 연결하고 인증된 사용자 문서를 가져옵니다. 애플리케이션은 사용 가능한 다양한 유형의 문서, 해당 문서의 ID 및 콘텐츠만 표시합니다.

 

전체 샘플 애플리케이션은 다음에서 확인할 수 있습니다. https://github.com/bentonam/fakeit-couchbase-mobile-example

결론

이 시리즈를 통해 다음과 같은 방법을 살펴보았습니다. FakeIt 는 간단한 YAML 모델을 사용해 방대한 양의 가짜 데이터를 생성하고 해당 데이터를 여러 대상에 전송할 수 있습니다. 리포지토리를 확인하시고 풀 리퀘스트를 환영하며, 커뮤니티에 더 유용한 도구를 만들기 위해 항상 개선과 향상을 모색하고 있습니다. 이 자리를 빌려 프로젝트에 기여해 주신 분들께도 감사의 말씀을 전하고 싶습니다. 다음과 같은 분들의 도움이 없었다면 1.0 버전은 출시되지 못했을 것입니다.  타일러 벤튼 (@tjbenton21), 또한 트레버 브린들 (빈스케라지), 제시카 케네디 (미스터센더), 아담 버뎃 (@RavenStorms619) 및 브랜트 버넷 (@btburnett3)

이전 게시물

Couchbase Champion

이 문서 공유하기
받은 편지함에서 카우치베이스 블로그 업데이트 받기
이 필드는 필수 입력 사항입니다.

작성자

게시자 Laura Czajkowski, 개발자 커뮤니티 관리자, Couchbase

로라 챠코브스키는 카우치베이스의 Snr. 개발자 커뮤니티 매니저로 카우치베이스의 커뮤니티를 총괄하고 있습니다. 그녀는 월간 개발자 뉴스레터를 담당하고 있습니다.

댓글 남기기

카우치베이스 카펠라를 시작할 준비가 되셨나요?

구축 시작

개발자 포털에서 NoSQL을 살펴보고, 리소스를 찾아보고, 튜토리얼을 시작하세요.

카펠라 무료 사용

클릭 몇 번으로 Couchbase를 직접 체험해 보세요. Capella DBaaS는 가장 쉽고 빠르게 시작할 수 있는 방법입니다.

연락하기

카우치베이스 제품에 대해 자세히 알고 싶으신가요? 저희가 도와드리겠습니다.