본문 바로가기

KAFKA6

카프카에서 메시지를 보내면 일어나는 일 일단 카프카는 "레코드" 단위로 메시지를 보낸다. 또한 하나씩 계속 전달되게 되면, 과부하가 일어나기 때문에 Accumulator 에 의해 일정한 배치사이즈로 축적을 한다. 시작 1. 전송을 위한 레코드 객체를 만듬. 2. 해당 객체는 Serializer에 의해 바이트화 됨. 3. 바이트화 된 객체는 Partitioner에 의해 토픽의 어떤 파티션에 들어갈지 정함. 4. 메타데이터와 함께 Accumulator에 일정한 배치 사이즈로 축적됨. 5. 각종 Config 마다 다르게 전송이 되는데, - linger.ms - 배치로 만들어서 데이터를 보내기 위한 최소 시간. 배치사이즈가 전부 차지 않아도 이 시간이 경과하면 보냄. - buffer.memory = accumulator의 최대 크기 - batch.s.. 2022. 10. 3.
카프카 카프카-완벽가이드-코어편 카프카는 프로듀서, 브로커 > 토픽 > 파티션, 컨수머 구조로 되어있다. 프로듀서에서 보내는 메시지는 토픽, 파티션(Optional), Key(Optional), Value, Header(Optional) 로 구성되어 있다. 자바나 파이썬 등 여러가지 프로그래밍 언어에서 send() 명령어를 입력하게 되면, 해당 메시지는 시리얼 라이저에 의해 바이트화 되고, 파티셔너에 의해 어떤 토픽에 어떤 파티션으로 전달될지 결정된다. 마지막으로 sender에 의해 해당 목적지로 보내지게 된다. 여기서 참 신기한게, 보내는 역할을 하는 sender는 기존의 파티셔너, 시리얼라이저와는 다른 쓰레드로 동작한다. 또 여기서 sender는 일정한 배치사이즈의 데이터가 들어오면 한번에 데이터를 보내게 .. 2022. 10. 3.