본문 바로가기

아파치 카프카5

[Kafka] 아파치 카프카 클라이언트 :: 어드민 API 아파치 카프카 애플리케이션 프로그래밍 with 자바 책 공부 내용 정리카프카 클라이언트에서는 내부 옵션들을 설정하거나 조회하기 위해 AdminClient 클래스를 제공한다.AdminClient 클래스를 활용하면 클러스터의 옵션과 관련된 부분을 자동화할 수 있다.AdminClient 활용 예시- 카프카 컨슈머를 멀티 스레드로 생성할 때, 구독하는 토픽의 파티션 개수만큼 스레드를 생성하고 싶을 때, 스레드 생성 전에 해당 토픽의 파티션 개수를 어드민 API를 통해 가져올 수 있다.- AdminClient 클래스로 구현한 웹 대시보드를 통해 ACL(Access Control List)이 적용된 클러스터의 리소스 접근 권한 규칙을 추가할 수 있다.- 특정 토픽의 데이터 양이 늘어남을 감지하고 AdminClien.. 2024. 9. 27.
[Kafka] 아파치 카프카 클라이언트 :: 컨슈머 API 아파치 카프카 애플리케이션 프로그래밍 with 자바 책 공부 내용 정리 컨슈머 API프로듀서가 전송한 데이터는 카프카 브로커에 적재된다. 컨슈머는 적재된 데이터를 사용하기 위해 브로커로부터 데이터를 가져와서 필요한 처리를 한다.IntelliJ로 프로젝트를 생성해 기본적인 애플리케이션을 만들어본다.카프카 클라이언트 디펜던시와 로그 확인을 위한 slf4j를 추가해준다.클라이언트 버전은 책의 버전과 같은 버전으로 하였다.implementation('org.apache.kafka:kafka-clients:2.5.0')implementation('org.slf4j:slf4j-simple:1.7.30')컨슈머 애플리케이션을 개발하기 위한 자바 파일을 생성한다.package com.example;import org... 2024. 9. 25.
[Kafka] 카프카 기본 개념 아파치 카프카 애플리케이션 프로그래밍 with 자바 책 공부 내용 정리 카프카 브로커카프카 브로커는 카프카 클라이언트와 데이터를 주고받기 위해 사용하는 주체이자, 데이터를 분산 저장하여 장애가 발생 하더라도 안전하게 사용할 수 있도록 도와주는 애플리케이션이다.카프라 클러스터로 묶인 브로커들은 프로듀서가 보낸 데이터를 안전하게 분산 저장하고 복제하는 역할을 수행한다.데이터 저장, 전송프로듀서로부터 데이터를 전달받으면카프카 브로커는 프로듀서가 요청한 토픽의 파티션에 데이터를 저장하고컨슈머가 데이터를 요청하면 파티션에 저장된 데이터를 전달한다.카프카는 페이지 캐시를 사용하여 디스크 입출력 속도를 높였다.페이지 캐시란 OS에서 파일 입출력의 성능 향상을 위해 만들어 놓은 메모리 영역이다.데이터 복제, 싱크카프카.. 2024. 9. 13.
[Kafka] 아파치 카프카 실행 카프카 브로커를 실행하기 위해서는 jdk가 설치되어 있어야한다. [AWS] aws ec2 open jdk 설치 방법초기 인스턴스 생성 시에 Amazon Linux로 설치를 했다.해당 os에는 java가 설치되어있지 않기 때문에 설치해주어야 한다.먼저 $ java -version 명령어로 자바가 설치되어있는지 확인해준다.자바가 설치되mi2mic.tistory.com 아파치 카프카 애플리케이션 프로그래밍 with 자바 책 공부 내용 정리카프카 브로커를 실행하기 위해 카프카 바이너리 패키지를 다운로드한다.책 기준 버전이 2.5.0이기 때문에 해당 버전을 다운로드 해주었다.wget https://archive.apache.org/dist/kafka/2.5.0/kafka_2.12-2.5.0.tgz다운로드가 완료되.. 2024. 9. 3.
[Kafka] 아파치 카프카 (Apache Kafka) 란? 아파치 카프카 애플리케이션 프로그래밍 with 자바 책 공부 내용 정리1. 카프카의 탄생링크드인 개발자들이 파편화된 데이터 파이프라인을 개선하기 위해 만든 시스템.카프카는 각각의 애플리케이션끼리 연결하여 데이터를 처리하는 것이 아니라,한 곳에 모아 처리할 수 있도록 중앙집중화했다.카프카는 기업의 대용량 데이터를 수집하고 이를 실시간 스트림으로 소비할 수 있게 만들어주는 일종의 중추 신경으로 동작한다고 볼 수 있다.=> 카프카를 중앙 배치함으로써 소스 애플리케이션과 타깃 애플리케이션 사이의 의존도를 최소화 하여 커플링 완화카프카 내부에 저장되는 파티션의 동작은 FIFO(First In First Out) 방식의 큐 자료구조와 유사큐에 데이터를 보내는 것이 프로듀서큐에서 데이터를 가져가는 것이 컨슈머카프카를.. 2024. 8. 23.