PubNub 카프카 싱크 커넥터 설치하기
Published: 2024-02-07 05:28:27

기존 카프카 클러스터가 있고 카프카 토픽의 데이터 레코드를 웹 브라우저나 휴대폰과 같은 기기로 실시간으로 전송하려는 경우, PubNub 카프카 싱크 커넥터가 솔루션이 될 수 있습니다. 이 가이드는 PubNub Kafka 싱크 커넥터를 설정하는 과정을 안내합니다.

로컬 테스트 카프카 클러스터 설정하기(선택 사항)
---------------------------

PubNub Kafka 싱크 커넥터는 Kafka 토픽의 데이터를 Hadoop, Elastic, PubNub와 같은 보조 시스템으로 전송하기 위해 특별히 개발된 프레임워크인 Kafka Connect를 활용합니다. 데모 목적으로 전체 Kafka 클러스터를 단일 Docker 구성 파일에 포함시켰습니다. 여기에는 Docker, 구성된 YAML 파일, Kafka 브로커, 클러스터 자체를 설정하는 데 필요한 모든 것이 포함되어 있습니다. 또한 로컬에서 실행 중인 Kafka 클러스터의 토픽으로 데이터를 자동으로 생성하는 테스트용 프로듀서도 포함되어 있습니다.

[https://github.com/pubnub/pubnub-kafka-sink-connector](https://github.com/pubnub/pubnub-kafka-sink-connector) 리포지토리를 복제하고 `docker compose` 명령을 실행하여 로컬 시스템에서 이 이미지를 부팅하세요. Kafka 자체에 많은 항목이 있기 때문에 시간이 걸릴 수 있습니다.

Docker Compose는 PubNub Kafka 싱크 커넥터 패키지도 빌드합니다. 간소화를 위해 Maven 패키지를 빌드하는 이미지가 포함되어 있습니다. 이렇게 하면 Kafka Connect 프레임워크를 사용하여 Kafka Connect로 빠르고 쉽게 가져올 수 있습니다. 빌더 이미지로 커넥터 패키지 빌드가 완료되면 배포할 준비가 된 것입니다. 소비자 알림 메시지가 일련의 레코드에 `소비자 | {"timestamp":1705690559}로` 표시되는 일정한 간격으로 나타나면 준비가 완료된 것을 알 수 있습니다. 이는 테스트 데이터 컨테이너가 성공적으로 작동하고 있으며 싱크 커넥터를 설치할 준비가 되었음을 나타냅니다.

PubNub 싱크 커넥터 배포하기
------------------

싱크 커넥터는 카프카 토픽과 해당 토픽의 레코드를 사용자의 장치로 연결하는 카프카 커넥트 프레임워크에서 실행되는 브리지입니다. 필요한 것은 커넥터 패키지 정보뿐이며, 이 정보는 PubNub Sink 커넥터 JSON 파일에 있습니다. 이 파일을 Kafka Connect가 실행 중인 곳에 게시하면 구성된 토픽의 데이터를 최종 대상 장치로 바로 복사하기 시작합니다.

[JSON 파일 examples/pubnub-sink-connector.json을](https://github.com/pubnub/pubnub-kafka-sink-connector/blob/main/examples/pubnub-sink-connector.json) PubNub API 키 정보로 구성해야 합니다. API 키는 [https://admin.pubnub.com/](https://admin.pubnub.com/) 에서 찾을 수 있습니다. 이 키는 최종 결과를 대상 디바이스에 전달하는 데 사용됩니다. 주제와 패턴을 설정한 다음 명령을 실행하여 싱크 커넥터를 배포할 수 있습니다.

다음 명령을 실행하여 싱크 커넥터를 배포합니다:

```js
curl -X POST \
    -d @examples/pubnub-sink-connector.json \
    -H "Content-Type:application/json" \
    http://localhost:8083/connectors
```

이제 커넥터가 실행 중이며 구성된 Kafka 토픽으로 전송된 모든 데이터가 PubNub SDK로 구독된 모든 장치에 즉시 복사됩니다.

싱크 커넥터 검증하기
-----------

웹 브라우저 장치로 전송되는 메시지를 확인하여 커넥터가 실행 중인지 확인할 수 있습니다. 메시지가 Kafka 토픽에 추가되는 즉시 PubNub 인프라로 복사되며, 이 인프라는 최종 대상 장치에 메시지를 안정적으로 전송하는 역할을 합니다. 다음 스크린샷은 카프카 토픽에서 이벤트 레코드가 수신되는 순간 데이터가 웹 브라우저 애플리케이션으로 즉시 스트리밍되는 모습을 보여줍니다.

![Validation of data being received on a web browser app from event records originating in a Kafka topic.](https://pubnub.com/cdn/3prze68gbwl1/9SwRTW3wCqjRs65X5vwyL/745d0c0fe06f48a5bfb8f4f639713fc6/Screenshot_2024-01-19_at_1.00.04_PM.png)

PubNub Kafka 싱크 커넥터 구축하기
------------------------

프로덕션 준비가 완료되면, Maven 빌드 명령을 사용하여 PubNub Kafka 싱크 커넥트를 빌드할 수 있습니다. Java 11 이상 및 새 버전의 Maven과 같은 모든 종속성이 설치되어 있는지 확인합니다. `mvn clean package를` 실행하여 패키지와 관련된 모든 테스트를 실행하고 jar 파일과 zip 파일을 포함한 몇 개의 패키지를 컴파일합니다. 이 패키지는 Kafka Connect 프레임워크에서 사용될 패키지입니다.

PubNub 카프카 싱크 커넥터 설치를 위한 비디오 워크스루
---------------------------------

이 비디오에서는 PubNub Kafka 싱크 커넥터를 설치하는 방법을 안내합니다.

[동영상을 보려면 여기를 클릭하세요.](https://videos.ctfassets.net/3prze68gbwl1/4S1JBjNrtGzLuUuJqmUc03/e2814500520648f92768d449a7c6c085/PubNub-Kafka-Connector.edited.mp4)

PubNub Kafka 싱크 커넥터를 설정하는 것은 간단하며, 단계를 주의 깊게 따르는 것이 중요합니다. 도중에 문제가 발생하면 [지원팀(support.pubnub.com](https://support.pubnub.com))으로 문의하시면 기꺼이 도와드리겠습니다.

자세한 내용은 펍넙 [공식 문서를](https://www.pubnub.com/docs/general/integrations/kafka/pubnub-kafka-sink-connector) 참조하세요.

펍넙이 어떤 도움을 줄 수 있나요?
===================

이 문서는 원래 [PubNub.com에](https://www.pubnub.com/blog/installing-pubnub-kafka-sink-connector/) 게시되었습니다.

저희 플랫폼은 개발자가 웹 앱, 모바일 앱 및 IoT 디바이스를 위한 실시간 인터랙티브를 구축, 제공 및 관리할 수 있도록 지원합니다.

저희 플랫폼의 기반은 업계에서 가장 크고 확장성이 뛰어난 실시간 에지 메시징 네트워크입니다. 전 세계 15개 이상의 PoP가 8억 명의 월간 활성 사용자를 지원하고 99.999%의 안정성을 제공하므로 중단, 동시 접속자 수 제한, 트래픽 급증으로 인한 지연 시간 문제를 걱정할 필요가 없습니다.

PubNub 체험하기
-----------

[라이브 투어를](https://www.pubnub.com/tour/introduction/) 통해 5분 이내에 모든 PubNub 기반 앱의 필수 개념을 이해하세요.

설정하기
----

PubNub [계정에](https://admin.pubnub.com/signup/) 가입하여 PubNub 키에 무료로 즉시 액세스하세요.

시작하기
----

사용 사례나 [SDK에](https://www.pubnub.com/docs) 관계없이 [PubNub 문서를](https://www.pubnub.com/docs) 통해 바로 시작하고 실행할 수 있습니다.