상당수의 고객이 다음과의 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 커넥터를 "싱크" 및 "출처". 

1단계: 카우치베이스 카펠라 클러스터

2단계: Amazon MSK 클러스터 및 Amazon EC2 클라이언트

AWS CloudFormation 사용

쉽게 시작하려면 다음을 사용할 수 있습니다. MSK용 스트리밍 데이터 솔루션용 CloudFormation 템플릿 는 Amazon MSK 클러스터와 Amazon EC2 클라이언트를 배포합니다.

    • 에 연결 카프카클라이언트 세션 관리자 옵션을 사용하여 인스턴스

    • Git 및 Apache Maven을 설치합니다. 카프카클라이언트 인스턴스

    • MSK 클러스터에 샘플 싱크 및 소스 토픽을 만듭니다. 

    • 파일 열기 src/main/java/com/couchbase/connect/kafka/example/JsonProducerExample.java 를 추가하고 38번째 줄에 있는 자바 소스 파일을 카프카 클러스터 브로커 연결 지점

3단계: MSK Connect 플러그인 구성하기

    • 다운로드 카우치베이스 카프카 커넥트 플러그인 ZIP
    • 액세스 권한이 있는 S3 버킷에 ZIP 파일을 업로드합니다.
    • 열기 Amazon MSK 콘솔. 왼쪽 창에서 MSK Connect을 클릭한 다음 사용자 지정 플러그인.
    • 선택 사용자 지정 플러그인 만들기
    • 선택 S3 찾아보기. 버킷 목록에서 ZIP 파일을 업로드한 버킷을 찾은 다음, 개체 목록에서 ZIP 파일을 선택합니다.
    • 입력 카우치베이스-카프카-커넥트 를 사용자 정의 플러그인 이름으로 입력한 다음 사용자 정의 플러그인 만들기를 선택합니다.

4단계: 싱크용 MSK 커넥터 만들기

    • 이제 사용자 정의 플러그인을 사용하여 싱크 커넥터를 만들 수 있습니다. 열기 Amazon MSK 콘솔. 왼쪽 창에서 MSK Connect를 선택하고 커넥터. 선택 커넥터 만들기.
    • 사용자 정의 플러그인 선택 couchbase-kafka-connect를 클릭하고 다음을 선택합니다.
    • 입력 카우치베이스-싱크 예제를 커넥터 이름으로 사용
    • 2단계에서 생성한 MSK 클러스터를 선택합니다.

5단계: 소스용 MSK 커넥터 만들기

    • 이제 사용자 정의 플러그인을 사용하여 싱크 커넥터를 만들 수 있습니다. 열기 Amazon MSK 콘솔. 왼쪽 창에서 MSK Connect를 선택하고 커넥터. 선택 커넥터 만들기.
    • 사용자 정의 플러그인 선택 couchbase-kafka-connect를 클릭하고 다음을 선택합니다.
    • 입력 카우치베이스-소스-예제를 커넥터 이름으로 지정합니다.
    • 2단계에서 생성한 MSK 클러스터를 선택합니다.

    • MSK 클러스터의 "클라이언트 정보 보기" 페이지에서 Zookeeper 연결 문자열과 Kafka 클러스터 부트스트랩 연결 문자열을 가져옵니다. 를 클릭하고 아래 명령어에 사용합니다:

    • 소스 코드 38줄을 MSK 클러스터 부트스트랩 연결 문자열로 업데이트합니다.

    • 규칙 저장을 선택합니다. 이제 MSK 클러스터가 이전 절차에서 만든 클라이언트의 모든 트래픽을 허용합니다.

구성 MSK Connect 플러그인 

MSK 클러스터에 연결할 클라이언트를 만드는 단계

    • Amazon EC2 인스턴스에서 Kafka 클라이언트 만들기 
    • 이 클라이언트는 MSK 클러스터의 카우치베이스-싱크 토픽으로 메시지를 전송하고 MSK 클러스터로 스트리밍되는 메시지에 대한 카우치베이스-소스 토픽을 모니터링하는 데 사용됩니다.
    • 클러스터 확인 상태 에서 클러스터 요약 페이지로 이동합니다. 상태는 다음과 같이 변경됩니다. 만들기 에 활성 가 클러스터를 프로비저닝합니다. 상태가 다음과 같은 경우 활성를 클릭하면 클러스터에 연결할 수 있습니다. 클러스터 상태에 대한 자세한 내용은 다음을 참조하세요. 클러스터 상태.

카우치베이스 카프카 커넥트 플러그인 구성하기

    • 다운로드 카우치베이스 카프카 커넥트 플러그인 ZIP
    • 액세스 권한이 있는 S3 버킷에 ZIP 파일을 업로드합니다.
    • 열기 Amazon MSK 콘솔. 왼쪽 창에서 MSK Connect을 클릭한 다음 사용자 지정 플러그인.
    • 선택 사용자 지정 플러그인 만들기
    • 선택 S3 찾아보기. 버킷 목록에서 ZIP 파일을 업로드한 버킷을 찾은 다음, 개체 목록에서 ZIP 파일을 선택합니다.
    • 입력 카우치베이스-카프카-커넥트 를 사용자 정의 플러그인 이름으로 입력한 다음 사용자 정의 플러그인 만들기를 선택합니다.

싱크 작동을 위한 Couchbase MSK 커넥터 구성

    • MSK 연결에 대한 IAM 역할 만들기 정책 예시.
    • 다음 구성을 복사하여 커넥터 구성 필드에 붙여넣습니다.

결론

이 게시물에서는 CouchBase Capella에서 Kafka 토픽으로 문서 변경 알림을 게시하기 위해 CouchBase "소스 커넥터"를 사용하는 방법과 하나 이상의 Kafka 토픽을 구독하고 메시지를 CouchBase Capella에 기록하는 "싱크 커넥터"를 사용하는 방법을 설명합니다.

작성자

게시자 Saurabh Shabhag, 파트너 솔루션 아키텍트, AWS

댓글 남기기