일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- Kubernetes
- ECS
- CodePipeline
- AWS
- consumer
- centos7
- transactionaleventlistener
- Entity
- PAGING
- Spring JPA
- spring
- cd
- git
- spring kafka
- CI
- mirror maker2
- JPA
- producer
- QueryDSL
- Spring Data JPA
- API
- Kotlin
- entity graph
- kafka
- offsetdatetime
- K8s
- bean
- topic생성
- mysql
- Streams
- Today
- Total
목록kafka (10)
Yebali

카프카 프로듀서 프로듀서는 카프카에서 데이터를 저장하는 첫 단계이다. 프로듀서에는 데이터 유실을 막기 위한 다양한 옵션이 존재한다. acks 옵션 이 옵션을 통해 프로듀서가 전송한 데이터가 카프카 클러스터에 얼마나 신뢰성 높게 저장할지 지정할 수 있다. (아래 예시에서는 복제수가 2 이상인 경우에 대한 동작) acks = 0 프로듀서가 리더 파티션으로 데이터를 전송했을 때, 리더 파티션으로 데이터가 저장되었는지 확인하지 않는다. 저장 여부에 대한 응답을 받지 않기 때문에 데이터가 몇 번째 오프셋에 저장되었는지 확인할 수 없다. 저장 여부를 알 수 없기 때문에 재시도를 하지 않는다. acks = 1 리더 파티션에만 정상적으로 적재되었는지 확인한다. 정상적으로 적재되지 않는 경우 재시도할 수 있다. 팔로워 ..

미러메이커2 카프카 미러메이커2는 서로 다른 두 개의 카프카 클러스터 간에 토픽을 복제하는 애플리케이션이다. '프로듀서 + 컨슈머'를 사용하여 직접 미러링 할 수 있지만, 토픽의 모든 것(메시지 키, 메시지 값, 동일한 파티션에 레코드 넣기 등)을 동일하게 복제하기는 어렵다. 커넥터로 사용할 수 있도록 설계되었기 때문에, 커넥트를 운영중이라면 미러메이커2 커넥터를 실행하여 토픽을 복제 할 수 있다. 미러메이커1..? 레거시 버전의 미러메이커이다. 복제 전 후의 파티션 정보가 달라짐, 정확히 한번 전달(exactly once delivery)를 보장하지 못하는 등의 단점이 많다. 미러메이커2를 사용하면 카프카 클러스터 단위의 활용도를 높일 수 있다. 액티브-스탠바이 클러스터 운영 복구용으로 임시 카프카 클..

토픽과 파티션 적정 파티션 개수 토픽 생성 시, 파티션의 개수를 정하는데 고려해야할 점. 데이터 처리량 메시지 키 사용 여부 브로커, 컨슈머 영향도 파티션은 카프카의 병렬 처리의 핵심이다. 파티션의 개수가 많아질수록 1:1 매핑되는 컨슈머 개수가 늘어나기 때문이다. 데이터 처리 속도를 올리는 두가지 방법 컨슈머의 처리량을 늘리는 것. 컨슈머를 추가해서 병렬처리량을 늘리는 것. 컨슈머 특성 상 다른 시스템들(S3, 하둡 등)과 연동되기 때문에 일정 수준 이상 컨슈머의 처리량을 늘리는 것은 어렵다. 반면 파티션의 개수를 늘리고 파티션 수 만큼 컨슈머를 추가하는 방법은 데이터 처리량을 늘리는 가장 확실한 방법이다. 프로듀서 전송 데이터량 < 컨슈머의 데이터 처리량 x 파티션 개수 단, 파티션의 개수를 늘리게 ..

카프카 커넥트란? 카프카 오픈소스에 포함된 툴 중 하나로 데이터 파이프라인 생성 시 반복 작업을 줄이고 효율적인 전송을 이루기 위한 애플리케이션이다. 특정한 작업 형태를 템플릿으로 만들어놓은 커넥터를 실행하면, 프로듀서/컨슈머 애플리케이션 개발/배포/운영 작업의 반복을 줄일 수 있다. 커넥터는 각 커넥터가 가진 고유한 설정값을 받아서 데이터를 처리한다. (ex, 파일의 데이터를 토픽으로 보내는 커넥터는 파일이존재하는 디렉토리 위치, 파일 이름을 설정해야 한다.) 커넥터의 종류 소스 커넥터 : 데이터를 토픽으로 가지고 오는 프로듀서 역할을 하는 커넥터 싱크 커넥터 : 데이터를 다른 애플리케이션으로 보내는 컨슈머 역할을 하는 커넥터 Mysql → Kafka / Kafka → Mysql 할 때, JDBC 커넥..