Kafka는 무엇인가 그리고 왜 사용하는가? #77
ayeon59
started this conversation in
Tech Concepts
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
왜 Kafka인가? — 데이터 전송의 복잡성 해결
기존 문제

해결책: Kafka
Kafka의 구조 개념
소스 코드에서 보내는 데이터 형태는 정말 다양할 수 있다.
Topic 이란?
카프카에는 다양한 데이터가 들어갈 수 있고 그 데이터가 들어가는 공간을 Topic이라고 한다.
Partition 이란?
ex) click_log라는 토픽은 여러개의 파티션으로 나눌 수 있다
Partition 분배 방식
이렇게 파티션에 저장된 데이터들은 최대 보존 시간 및 최대 보존 크기를 설정하면 옵션에 따라 삭제된다.
Broker 란?
Leader / Follower Partition 이란?
왜 repllication를 사용하는가?
partition의 고가용성을 위해 사용한다.
ACK 옵션
그럼 replication이 많을수록 좋은거 아닌가?
Partitioner 이란?
동작 방식 : 기본 파티셔너 UniformStickyPartitioner
레코드에 메시지 키가 있을때
레코드에 메시지 키가 없을때
커스텀 파티셔너
Consumer & Lag이란?
Records-Lag-Max
Burrow란?
Kafka-client 라이브러리를 통해 lag 정보를 가져올 수 있고 elastic/influxdb에 넣고 grafano로 볼 수 있으
→ 이를 Go 언어로 작성한 독립적인 어플리케이션이 Burrow이다.
메시지 브로커 vs 이벤트 브로커란?
기본적으로, 메시지 브로커는 이벤트 브로커를 대신하지 못하지만
이벤트 브로커는 메시지 브로커를 대신한다.
[메시지 브로커 (RabbitMQ, Redis Queue)]
[이벤트 브로커 (Kafka, Kinesis)]
Zookeeper (주키퍼)란?
Beta Was this translation helpful? Give feedback.
All reactions