Kafka Java 클라이언트 사용

Java™ Kafka API 샘플은 Kafka API를 직접 사용하는 Java로 작성된 예제 생성자 및 처리자입니다. 이 샘플을 로컬에서 또는 IBM Cloud®에서 실행할 수 있습니다.

Java 클라이언트에서 최적의 성능을 위해 버전 2.6.0이상을 사용하는 것이 좋습니다. 자세한 정보는 Java Kafka 호출에 대한 알려진 제한사항 을 참조하십시오.

샘플 코드는 event-streams-samples GitHub 프로젝트에 있습니다. 샘플이 Kafka API를 사용하여 메시지를 보내고 받더라도, 메시지를 보내고 받는 대상 토픽을 작성하는 데에는 Event Streams 관리 API를 사용합니다.

샘플 설정 및 실행에 대한 자세한 정보는 README.md를 참조하십시오.

샘플 실행 방법에 대한 자세한 둘러보기는 Event Streams 시작하기를 참조하십시오.

Liberty for Java 샘플을 사용, 다운로드 및 실행하는 방법

IBM® Liberty for Java™ for IBM Cloud® 샘플은 Liberty 런타임에 배치되는 단순 애플리케이션을 구현합니다. 애플리케이션은 Event Streams에서 메시지를 생성하고 이용하도록 Kafka API를 사용합니다. 또한, 애플리케이션은 관리에 사용할 수 있는 웹 프론트 엔드를 제공합니다.

event-streams-samples GitHub 프로젝트에서 샘플 코드를 찾을 수 있습니다.

sasl.jaas.config 특성 사용

0.10.2.1 이상에서 Kafka 클라이언트를 사용하는 경우 JAAS 파일 대신 클라이언트 구성에 sasl.jaas.config 특성을 사용할 수 있습니다. Event Streams에 연결하려면 다음 예제와 같이 sasl.jaas.config 를 설정하십시오.

    sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required \
    username="USERNAME" \
    password="PASSWORD";</code>

USERNAMEPASSWORD 는 IBM Cloud에 있는 Event Streams 서비스 신임 정보 탭의 값입니다.

sasl.jaas.config 를 사용하는 경우 동일한 JVM에서 실행되는 클라이언트는 다른 신임 정보를 사용할 수 있습니다. 자세한 정보는 Kafka 클라이언트 구성을 참조하십시오.

초기 Kafka 클라이언트에서 인증 정보를 지정하려면 JAAS 구성 파일을 사용해야 합니다. 이 메커니즘은 덜 편리하므로 대신 sasl.jaas.config 특성을 사용하십시오.

Kafka 클라이언트를 버전 0.9.X 또는 0.10.X 에서 이후 클라이언트 버전으로 마이그레이션

Java 클라이언트를 사용하는 경우 공용으로 사용 가능한 Kafka 클라이언트 버전 0.10 이상을 사용할 수 있습니다.

버전 0.9.X 를 최신 버전으로 변경하십시오. https://kafka.apache.org/downloads에서 Kafka 클라이언트를 다운로드할 수 있습니다.

Kafka 클라이언트를 버전 0.10.2.X 이상 버전

버전 0.10.2부터 JAAS 파일을 사용하는 대신 클라이언트의 특성에서 직접 SASL 인증을 구성할 수 있습니다. 이러한 단순화를 통해 JAAS 파일에서는 불가능한 다른 신임 세트를 사용하여 동일한 JVM에서 여러 클라이언트를 실행할 수 있습니다.

다음 단계를 완료하십시오.

  1. JAAS 파일을 삭제하십시오. JVM 특성 java.security.auth.login.config=<PATH TO JAAS> 도 더 이상 필요하지 않습니다.

  2. 다음 항목을 클라이언트의 특성에 추가하십시오.

    sasl.mechanism=PLAIN
    sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="USERNAME" password="PASSWORD";
    

    USERNAMEPASSWORD 는 IBM Cloud에 있는 Event Streams 서비스 신임 정보 탭의 값입니다.