카프카 자바 예제

이 예제에서는 한 Kafka 토픽에서 소비하고 다른 Kafka 토픽으로 생산하는 방법을 보여 주며, 생산자는 목록의 다음 브로커에게 연락을 시도합니다. 일단 연락 한 브로커의, 생산자가 전체 카프카 클러스터에 대해 알려드립니다. 생산자는 목록의 브로커 중 적어도 하나가 실행되는 한 연결됩니다. 부트스트랩 목록에 있는 세 개의 서버 목록에 100명의 브로커와 두 개의 브로커가 있는 경우 생산자는 나머지 98개의 브로커를 계속 사용할 수 있습니다. 5. .binwindowskafka-server-start.bat.configserver.properties를 실행하여 카프카를 시작합니다. 이후, 우리는 기본 구성에 어떤 변경하지 않은, Kafka는 시작하고 http://localhost:9092 우리가 자바 클라이언트를 사용하여 메시지를 게시하고 소비하기위한 응용 프로그램을 만들 수 있습니다. 카프카 생산자 클라이언트는 다음 API로 구성됩니다. KafkaProducer 클래스는 토픽에 비동기적으로 메시지를 보내는 송신 방법을 제공합니다. send() 서명은 다음과 같이 메시지가 동기적으로 전송될 때 Kafka Server로의 전송이 중단되거나 중단되는 경향이 있습니다. Interrupted예외 및 실행예외는 송신 함수에 의해 throw되어야 합니다.

송신 결과는 레코드가 전송한 파티션, 할당된 오프셋 및 레코드의 타임스탬프를 지정하는 레코드 메타데이터입니다. CreateTime이 토픽에서 사용되는 경우 사용자가 레코드에 대한 타임스탬프를 지정하지 않은 경우 타임스탬프는 사용자가 제공한 타임스탬프 또는 레코드 전송 시간이 됩니다. LogAppendTime이 토픽에 사용되는 경우 타임스탬프는 메시지가 추가될 때 현지 시간으로 Kafka 브로커가 됩니다. Kafka는 비동기 작업에 사용하는 콜백 인터페이스를 정의합니다. 콜백 인터페이스를 사용하면 요청이 완료되면 코드를 실행할 수 있습니다. 콜백은 백그라운드 I/O 스레드에서 실행되므로 빠르게 작동해야 합니다(차단하지 마십시오). 온완료(레코드 메타데이터 메타데이터, 예외 예외)는 비동기 작업이 완료되면 호출됩니다. 작업이 성공한 경우 메타데이터가 설정(null이 아님)되고 작업에 오류가 있는 경우 예외가 설정(null이 아님)됩니다. Java를 사용하여 생산자를 실현하기 위해 단계별 가이드와 아파치 카프카의 카프카 프로듀서와 프로듀서 예제에 대해 알아보십시오. 다음으로 Kafka 패키지를 가져오고 주제에 대한 상수와 생산자가 연결할 부트스트랩 서버 목록을 정의하는 상수를 정의합니다. 당신은 아파치 카프카가 상자 밖으로 작동하는 방법을 보았다. 다음으로 사용자 지정 생산자/소비자 응용 프로그램을 개발해 보겠습니다.

생산자는 콘솔에서 사용자 입력을 검색하고 각 새 줄을 Kafka 서버에 메시지로 보냅니다.