Couchbase는 DCP 커넥터를 사용하는 Apache Kafka의 소스로 훌륭합니다.
그러나 빠르고 메모리를 우선시하며 안정적인 스토리지를 제공하기 때문에 데이터를 소화하는 엔드포인트로도 훌륭합니다.

이 블로그 게시물에서는 생산자와 소비자를 위한 간단한 Java 애플리케이션을 구축하여 Kafka에서 게시된 메시지를 Couchbase에 저장하는 방법을 보여드리겠습니다.

여기서는 이미 Kafka 클러스터가 있다고 가정합니다(단일 노드 클러스터일지라도). 그렇지 않은 경우 해당 설치 가이드를 따르세요.

이 블로그 환경은 4가지 부분으로 구성되어 있습니다:

  1. 카프카 프로듀서
  2. 아파치 카프카 대기열
  3. 카프카 소비자
  4. 카우치베이스 서버

프로듀서

대기열에 메시지를 제출하려면 프로듀서가 필요합니다.

대기열에서 해당 메시지가 소화되고 있으며 해당 토픽을 구독한 모든 애플리케이션이 해당 메시지를 읽을 수 있습니다.

메시지의 소스는 Mockaroo를 사용하여 만든 더미 JSON 파일이 될 것이며, 이를 분할하여 대기열로 전송할 것입니다.

샘플 JSON 데이터는 다음과 유사합니다:

프로듀서 코드입니다:

Output from the Kafka producer app

카프카 프로듀서 앱의 출력

소비자

이것은 매우 간단하며, 대기열에서 메시지를 가져오고 Couchbase Java SDK를 사용하여 Couchbase에 문서를 삽입하기만 하면 됩니다. 간단하게 하기 위해 동기화 자바 SDK를 사용하겠지만 비동기화를 사용하는 것도 충분히 가능하고 권장하기도 합니다.

Output from the Consumer app

카프카 소비자 콘솔 출력

카우치베이스 서버

이제 Couchbase 서버에서 결과를 확인할 수 있습니다.

카프카 예시 버킷 - 1000개의 문서로 채워져 있습니다.

카우치베이스 버킷

각 문서는 이와 비슷하게 생겼습니다:

샘플 문서

간단한 3단계 솔루션.

프로덕션 환경에서는 프로듀서, 소비자, 카프카 또는 카우치베이스가 각각 하나 이상의 머신에 설치되어 있다는 점에 유의하세요.

의 전체(Maven 종속성 포함) 코드 GitHub.

Roi.

작성자

게시자 로이 카츠, 솔루션 아키텍트, Couchbase

Roi는 10년 이상의 폭넓은 업계 경험을 가진 Couchbase 솔루션 아키텍트, 소프트웨어 개발자 및 설계자입니다. 그는 빅 데이터 시스템, NoSQL 데이터베이스, 카우치베이스, 분산 아키텍처 및 클라우드 컴퓨팅을 전문으로 하는 교육 과정의 강사이자 저자로 활동해 왔습니다.

댓글 남기기