강사 소개 : 유명 iT 회사 컨설턴트이며 카프카 커뮤니티 멤버중 하나. 책도 많으 쓰셨고 블로그도 운영하고 있다고 stephanemaarek linkedin medium twitter. github/simplesteph
Apache Kafka in five minutes
Kafka : 메시징 서비스라고 부르기도 하지만 여기선 스트르밍 서비스라 한다. 간단히 소스-타켓시스템간 데이터를 넘기는 잘 넘기는 시스템이다 데이터를 넘길 때 프로토콜/데이터 포맷/ 데이터 스킴/ 데이터 변경등 요소로 여러 integration이 발생하여 로드가 발생하는 데 카프카는 이를 잘 전송해주는 시스템이다. 실제 최고 성능을 자랑하고 다른 시스템과 통합도 잘되고 게다가 넷플릿스/우버/링크드인처럼 최고 성능을 유지하는 기업이 실제 사용한다고 한다. Remember that in this, Kafka is only used as a transportation mechanism.
1. Kafka Theory
Topics, partitions, and offsets
자 이제 이론 수업이라고 합니다 w좀 어렵나봐여 244 제일 먼저 Topic - The topic in Kafka is going to be the base of everything. presenting a particular stream of data. 토픽은 테이블과 유사하고 이름(name)으로 구분하며 일련의 순서를 가진 파티션으로 다시 나눈다. offset이라는 증분ID를 가진 메시지가 있다.
Brokers and topics
Brokers= servers , IDs(identified by integer), after connecting
Topic replication
replication. 브로커 다운시 다른 브로커가 작업할 수 있도록 . ? 데드락 걸리며,? 얼마나 죽니, leader라는 개념은 브로커의 한 파티션 데이터처리 선임. 한 파티션은 1 leader + 여러 개 ISR( in-sync replica) 248
Producers and message keys
카프카는 Producers로 데이터를 처리한다. ( they will write data to topic.) broker is auto recoverable, 249
프로듀서는 akcs로 , to receive acknowledgement, That's a Kafka guarantee- if a key is sent, then all the messages for that key will always go to the same partition.
Consumer and consumer group
consumers to read databy tp so here's . And, as we said, consumers will read data from a topic 순서대로 251
, a consumer group represents an application. 컴줌그룹을 배타적 파티션으로 데이터 읽어옴(??) 253
얼마나 많은 그룹을 필요로 하니 - 그것보다 그룹 안에 컴쥬머 수가
더 중요한듯 (??) 254
Consumer offsets and delivery semantics
the really important concept of consumer offsets. able to restore the offsets at which a consumer group has been reading, and that is very convenient. 255
gives you three delivery semantics. At most once, at least once, and exactly once. 257
Kafka broker discovery
Kafka broker discovery ,.Kafka broker = a bootstrap server = connect to one broker . it knows to which broker it needs to connect automatically. 258
ZooKeeper
Zookeeper manages the brokers,is what holds the brokers together. Kafka cannot work without Zookeeper. , when a broker goes down, there's a new partition that becomes a leader. has also the concept of leader(handle writes) and followers(handle reads). Zookeeper is completely isolated from your consumers and your producers. 259
Kafka guarantees
Kafka guarantees 메세지는 topic-partition에 시간순으로 저장되고 컨슈머는 시간순으로 읽어간다 Replication factor가 N 이면 N-1개의 브로커가 다운되는 것까지 견딜 수 있다 하나의 브로커는 maintenance로 떨어질 수 있기 때문에 적어도 RF는 3개가 좋다 토픽에 파티션수가 동일하게 유지되는한, 동일한 키를 가진 메세지는 동일한 파티션에 저장된다 (운영 중 파티션 수를 늘이거나 줄이면 보장되지 않으므로 초기 설계 시 고려필요)