상당수의 고객이 다음과의 Couchbase 통합을 활용하고 있는 것으로 나타났습니다. 아파치 카프카대규모로 데이터를 안정적으로 스트리밍할 수 있는 기능을 제공하는 Couchbase Kafka 커넥터 플러그인을 사용하여 Apache Kafka와 데이터를 주고받을 수 있습니다.
Apache Kafka는 실시간 스트리밍 데이터 파이프라인과 애플리케이션을 구축하기 위한 오픈 소스 플랫폼입니다. 하지만 직접 설계, 운영, 관리하려면 Apache Kafka 인프라 관리 전문 지식이 필요합니다. 아파치 카프카용 아마존 관리형 스트리밍(Amazon MSK)는 Apache Kafka를 사용하는 애플리케이션을 쉽게 빌드하고 실행할 수 있는 완전 관리형 고가용성 서비스입니다.
Amazon MSK는 Amazon MSK Connect 기능 및 Couchbase Kafka 커넥터 플러그인을 통해 Couchbase와의 통합을 지원합니다. 이 기능을 사용하면 Couchbase 커넥터를 쉽게 배포하고 부하 변화에 맞게 확장할 수 있습니다.
이 블로그 게시물에서는 Amazon MSK 클러스터 설정을 살펴보고 Couchbase Kafka 커넥터를 "싱크" 및 "출처". Couchbase Capella를 사용하여 몇 분 안에 시작할 수 있습니다.
1단계: 카우치베이스 카펠라 클러스터
-
- 시작하기 카우치베이스 카펠라 무료 평가판.
- 원하는 AWS 지역을 선택하고 몇 분 안에 Couchbase Capella 클러스터를 시작하세요.
- 다음, 데이터베이스 자격 증명 구성.
- 다음을 사용하여 비공개 네트워킹 설정 VPC 피어링 또는 AWS 프라이빗 링크 를 사용하여 AWS 계정과의 네트워크 연결을 설정하세요. 어디서든 액세스를 허용할 수 있지만 권장하지는 않습니다.
- 그런 다음 데이터 도구 섹션에 액세스하여 새 데모 클러스터의 버킷.
2단계: Amazon MSK 클러스터 및 Apache Kafka 클라이언트
VPC의 사설 서브넷에 Amazon MSK 클러스터 및 Amazon MSK Connect 커넥터를 사용하는 것이 좋습니다. 카우치베이스 카펠라 클러스터에 연결하기 위해 VPC 피어링 또는 AWS 프라이빗 링크를 사용하지 않는 경우, 프라이빗 서브넷에서 연결을 시작하려면 NAT 게이트웨이가 필요합니다.
쉽게 시작하려면 다음을 사용할 수 있습니다. MSK용 스트리밍 데이터 솔루션용 CloudFormation 템플릿 는 Amazon EC2 인스턴스에 Amazon MSK 클러스터와 Apache Kafka 클라이언트를 배포합니다.
먼저 MSK 클러스터에서 샘플 싱크와 소스 토픽을 만들어 보겠습니다:
다음으로, 몇 가지 패키지를 설치합니다. 카프카클라이언트 인스턴스에 몇 가지 메시지를 게시하는 샘플 코드를 실행할 수 있도록 카우치베이스-싱크-예제 주제
우리는 카우치베이스 싱크 커넥터용 퀵스타트 가이드 를 사용하여 MSK 클러스터에 메시지를 게시합니다.
src/main/java/com/couchbase/connect/kafka/example/JsonProducerExample.java 파일을 열고 Kafka 클러스터 부트스트랩 연결 문자열을 업데이트합니다.
이제 maven 프로젝트를 빌드할 수 있습니다:
1 |
mvn 컴파일 exec:자바 |
샘플 프로듀서는 몇 가지 메시지를 카프카 토픽으로 보냅니다. 카우치베이스-싱크-예제 을 클릭한 다음 종료합니다.
3단계: MSK Connect 플러그인 구성하기
-
- 다운로드 카우치베이스 카프카 커넥트 플러그인 ZIP.
- 액세스 권한이 있는 S3 버킷에 ZIP 파일을 업로드합니다.
- 열기 Amazon MSK 콘솔. 왼쪽 창에서 MSK Connect을 클릭한 다음 사용자 지정 플러그인.
- 선택 사용자 지정 플러그인 만들기
- 선택 S3 찾아보기. 버킷 목록에서 ZIP 파일을 업로드한 버킷을 찾은 다음, 개체 목록에서 ZIP 파일을 선택합니다.
- 입력 카우치베이스-카프카-커넥트 를 사용자 정의 플러그인 이름으로 입력한 다음 사용자 정의 플러그인 만들기를 선택합니다.
4단계: 싱크용 MSK 커넥터 만들기
-
- 이제 사용자 정의 플러그인을 사용하여 싱크 커넥터를 만들 수 있습니다. 열기 Amazon MSK 콘솔. 왼쪽 창에서 MSK Connect를 선택하고 커넥터. 선택 커넥터 만들기.
- 사용자 정의 플러그인 선택 카우치베이스-카프카-커넥트 를 클릭하고 다음을 선택합니다.
- 입력 카우치베이스-싱크-예제 as 커넥터 이름.
- 2단계에서 생성한 MSK 클러스터를 선택합니다.
- 아래에 표시된 커넥터 구성을 입력합니다:
- 선택 프로비저닝 또는 자동 확장 요구 사항에 따라 용량을 조정할 수 있습니다.
- 를 사용하여 IAM 역할을 만들고 선택합니다. 필수 트러스트 정책 를 클릭하세요.
- 일단 카우치베이스-싱크-예제 커넥터를 시작하면 Kafka 토픽의 메시지가 새 문서로 Couchbase 버킷에 추가되는 것을 볼 수 있습니다.
5단계: 소스용 MSK 커넥터 만들기
-
- 이제 사용자 정의 플러그인을 사용하여 소스 커넥터를 만들 수 있습니다. 열기 Amazon MSK 콘솔. 왼쪽 창에서 MSK Connect를 선택하고 커넥터. 선택 커넥터 만들기.
- 사용자 정의 플러그인 선택 카우치베이스-카프카-커넥트 을 클릭하고 다음.
- 입력 카우치베이스 소스 예제 as 커넥터 이름
- 2단계에서 생성한 MSK 클러스터를 선택합니다.
- 아래에 표시된 커넥터 구성을 입력합니다:
- 요구 사항에 따라 프로비저닝된 용량 또는 자동 확장 용량을 선택합니다.
- 를 사용하여 IAM 역할을 만들고 선택합니다. 필수 트러스트 정책 를 클릭하세요.
- 일단 카우치베이스 소스 예제 커넥터가 시작되면 카우치베이스 데이터베이스 변경 프로토콜(DCP)을 수신하게 됩니다.
- 콘솔 소비자를 시작하겠습니다. 카프카클라이언트 인스턴스를 사용하여 카프카 주제를 들을 수 있습니다. 카우치베이스 소스 예제 에 업데이트 메시지가 게시됩니다. 이를 위해 세션 관리자 옵션을 사용하여 KafkaClient 인스턴스에 다시 연결하고 다음 코드를 실행합니다:
- 이제 업데이트 쿼리를 실행할 때 여행 샘플 버킷을 데이터 도구 - 쿼리 옵션을 사용하여 Couchbase Capella에 추가합니다:
- 업데이트된 문서가 카프카 클라이언트 인스턴스에서 실행 중인 카프카 소비자에게 수신되는 것을 확인할 수 있습니다:
결론
이 게시물에서는 Couchbase를 사용하는 방법을 설명합니다. 소스 커넥터 문서 변경 알림을 카우치베이스 카펠라에서 카프카 토픽으로 게시할 수 있습니다. 싱크 커넥터 하나 이상의 카프카 토픽을 구독하고 카우치베이스 카펠라에 메시지를 작성합니다.