Kafka은(는) 무엇입니까?
이 비동기 API는 Apache Kafka 프로토콜을 사용하여 구현됩니다. 이는 결함이 허용되도록 설계된 발행/구독 이벤트 플랫폼으로, 실시간 데이터 피드를 처리하기 위한 높은 처리량과 낮은 대기 시간의 플랫폼을 제공합니다.
Kafka은(는) 하나 이상의 서버(Kafka 브로커) 클러스터로 실행됩니다. 로드는 서버 사이에 분산시켜 클러스터 전체에서 밸런스를 조정합니다.
주요 개념
주제
메시지 스트림은 주제라고 하는 카테고리에 저장됩니다. 주제는 AsyncAPI 문서에서 채널로 표시됩니다. 각 토픽은 하나 이상의 파티션으로 구성됩니다. 각 파티션은 메시지의 정렬된 목록입니다. 파티션에 있는 메시지 각각에는 오프셋이라고 하는 일정하게 증가하는 숫자가 제공됩니다.
메시지/레코드
두 개의 파트(헤더 및 값)로 구성되는 Kafka의 데이터 단위. 헤더는 일반적으로 메시지에 대한 데이터에 사용되고 값은 메시지의 본문입니다.
생성기
Kafka 주제에 메시지 스트림을 공개하는 프로세스입니다. 생성기는 하나 이상의 주제에 공개할 수 있으며 선택적으로 데이터를 저장하는 파티션을 선택할 수 있습니다.
소비자
Kafka 주제에서 메시지를 이용하고 메시지 피드를 처리하는 프로세스입니다. 소비자는 하나 이상의 주제 또는 파티션에서 소비할 수 있습니다.
소비자 그룹
주제 세트에서 메시지를 함께 사용하는 하나 이상의 소비자로 구성되는 이름 지정된 그룹입니다. 그룹의 각 이용자는 지정된 특정 파티션에서 메시지를 읽습니다. 각 파티션은 그룹의 한 소비자에게만 지정됩니다. 지정은 'client.id' 및 'group.id' 소비자 특성으로 제어됩니다.
이 API에서 이용
연결하고 등록할 Kafka 클라이언트가 필요합니다. Kafka 클라이언트 라이브러리는 다양한 프로그래밍 언어에 사용 가능하며, 각 채널의 샘플 코드는 Kafka 소비자를 사용하여 이벤트를 이용하기 위해 Java Kafka 클라이언트를 사용하는 시작점입니다.