1. Topic
: 데이터
2. Partition
: 토픽 은 각각의 파티션으로 나누어짐, 파티션은 오프셋을 가지고 있음, 파티션 안에서만 order를 보장
3. Broker
: 서버 역할. 여러 파티션을 가지고 있을 수 있음.
4. Replication
: 리더 브로커는 오로지 한명뿐. 카프카 주키퍼가 리더파티션을 뽑고 걔가 죽으면 다시 선출하는 것을 뒤에서 조정
5. ISR
:in sync replicaiton. 리더 브로커는 오로지 한명, 나머지는 전부 그냥 데이터 복제만. 머리가 두개 되는것을 방지 -sync로 한다.
6. Producer
: 데이터를 만드는 주체, source로부터 여러 파티션에게 데이터를 보낸다
7. Partition key
: null일 경우 라운드로빈으로 그냥 파티션 암데나 보내짐, 키 해싱하여 지정(예를들면 pk) 할경우 해당 해싱된 파티션으로만 데이터가 들어가게 된다.
8. consumer
: 카프카로부터 데이터를 받아서 . process한뒤 목적 대상으로 보낸다
9. offset
: 데이터베이스커밋같은개념. 나 process했어 - 후에 커밋할건지아님 걍받았기만하면 커밋할건지조정- 이것으로. 성능 & 데이터 중복의 반비례 관걔
10. consumer group
: 하나의 어플리케이션. 내 경우에는 java어플리케이션이라고 생각하면 됨. 파티션개수>=컨슈머그룹개수.
11. zookeeper
:레디스 센티넬같은. 브로커들을 관리하고, topic 의 변경사항을 nofify하는 역할, 선출의 right이 있다
12. kafka discovery
: 메타데이터를 보낸다. 프로듀서는 메타데이터를 받아서 카프카와 소통, 직접적으로 파티션과 관계맺지않음
댓글 없음:
댓글 쓰기