토리맘의 한글라이즈 프로젝트 logo 토리맘의 한글라이즈 프로젝트

아파치 카프카 공식 레퍼런스를 한글로 번역한 문서입니다.

전체 목차는 여기에 있습니다.

목차


카프카는 다섯 가지 핵심 api를 제공한다:

  1. 카프카 클러스터에 있는 토픽에 데이터 스트림을 전송하는 어플리케이션을 위한 프로듀서 API.
  2. 카프카 클러스터에 있는 토픽에서 데이터 스트림을 읽어가는 어플리케이션을 위한 컨슈머 API.
  3. 입력 토픽 데이터를 읽어 출력 토픽에 전송하는 데이터 변환 스트림을 위한 스트림즈 API.
  4. 끊임 없이 어떤 소스 시스템에서 데이터를 받아(pull) 카프카로 보내거나, 카프카 데이터를 다른 싱크 시스템이나 다른 어플리케이션으로 보내는(push) 커넥터를 구현한 커넥트 API.
  5. 토픽, 브로커나, 다른 카프카 오브젝트를 관리하고 점검할 수 있는 어드민 API.

카프카는 이 모든 기능을 다양한 프로그래밍 언어를 지원하는 클라이언트를 가진, 언어 독립적인 프로토콜을 통해 제공한다. 단, 자바 클라이언트만 메인 카프카 프로젝트로 유지하고 있으며, 나머지는 독립적인 오픈 소스 프로젝트로 제공한다. 자바 외의 나머지 클라이언트 목록은 여기에서 확인할 수 있다.


2.1 Producer API

어플리케이션에 프로듀서 API를 사용하면, 카프카 클러스터에 있는 토픽으로 데이터 스트림을 전송할 수 있다.

프로듀서를 사용하는 방법은 javadoc에 있는 예제를 참고해라.

프로듀서를 사용하려면 아래와 같이 메이븐 의존성을 추가하면 된다:

<dependency>
	<groupId>org.apache.kafka</groupId>
	<artifactId>kafka-clients</artifactId>
	<version>2.7.0</version>
</dependency>

2.2 Consumer API

어플리케이션에 컨슈머 API를 사용하면, 카프카 클러스터에 있는 토픽에서 데이터 스트림을 읽어갈 수 있다.

컨슈머를 사용하는 방법은 javadoc에 있는 예제를 참고해라.

컨슈머를 사용하려면 아래와 같이 메이븐 의존성을 추가하면 된다:

<dependency>
    <groupId>org.apache.kafka</groupId>
	<artifactId>kafka-clients</artifactId>
	<version>2.7.0</version>
</dependency>

2.3 Streams API

스트림즈 API를 사용하면, 입력 토픽 데이터를 읽어 출력 토픽에 전송하는 데이터 변환 스트림을 구성할 수 있다.

이 라이브러리를 사용하는 방법은 javadoc에 있는 예제를 참고해라.

스트림즈 API 사용법에 대한 보충 설명은 여기에서 확인할 수 있다.

카프카 스트림즈를 사용하려면 아래와 같이 메이븐 의존성을 추가하면 된다:

<dependency>
	<groupId>org.apache.kafka</groupId>
	<artifactId>kafka-streams</artifactId>
	<version>2.7.0</version>
</dependency>

스칼라를 사용한다면, kafka-streams-scala 라이브러리를 추가해도 된다. 스칼라 용 카프카 스트림즈 DSL 사용법에 대한 추가 문서는 개발자 가이드에서 확인할 수 있다.

스칼라 2.13 전용 스칼라 카프카 스트림즈 DSL을 사용하려면, 아래 메이븐 의존성을 추가하면 된다:

<dependency>
	<groupId>org.apache.kafka</groupId>
	<artifactId>kafka-streams-scala_2.13</artifactId>
	<version>2.7.0</version>
</dependency>

2.4 Connect API

커넥트 API를 사용하면, 끊임 없이 어떤 소스 시스템에서 데이터를 받아(pull) 카프카로 보내거나, 카프카 데이터를 다른 싱크 데이터 시스템으로 보내는(push) 커넥터를 구현할 수 있다.

대부분 이 API를 직접 사용할 필요는 없으며, 코드를 직접 작성하는 대신 미리 만들어둔 커넥터를 활용하면 된다. 커넥트 사용법에 대한 추가 정보는 여기에서 확인할 수 있다.

커스텀 커넥터를 구현하고 싶다면 javadoc을 참고해라.


2.5 Admin API

어드민 API로는 토픽, 브로커, acl이나, 다른 기타 카프카 오브젝트를 관리하고 점검할 수 있다.

어드민 API를 사용하려면 아래와 같이 메이븐 의존성을 추가해라:

<dependency>
	<groupId>org.apache.kafka</groupId>
	<artifactId>kafka-clients</artifactId>
	<version>2.7.0</version>
</dependency>

어드민 API에 대한 추가 정보는 javadoc을 참고해라.


전체 목차는 여기에 있습니다.

<< >>

TOP