전체 글
카프카 스키마 레지스트리
개요스키마의 개념과 유용성카프카와 스키마 레지스트리스키마 레지스트리의 장점스키마 레지스트리 호환성BACKWARD 호환성FORWARD 호환성FULL 호환성정리개요스키마란 정보를 구성하고 해석하는 것을 도와주는 프레임워크나 개념을 의미합니다. 스키마란 개념을 처음 입문하게 되는 계기는 보통 DB를 학습하면서 입니다. DB를 학습하면서 스키마란 데이터베이스의 구조를 정의하고 전반적인 명세와 제약 조건을 기술하는 언어라고 학습하게 됩니다.카프카에서도 스키마란 개념을 활용하여 토픽으로 전송되는 메시지에 대해 미리 스키마를 정의하여 전송함으로서 DB에서 스키마를 활용한 방법과 동일한 효과를 얻을 수 있습니다.카프카에서는 스키마를 활용하기 위해서 스키마 레지스트리라는 개념이 필요합니다. 따라서 이번 글에서는 스키마 ..
컨슈머의 내부 동작 원리(컨슈머 오프셋, 그룹코디네이터, 스태틱 맴버십,파티션 할당 전략)
개요컨슈머 오프셋 관리그룹 코디네이터스태틱 멤버십컨슈머 파티션 할당 전략레인지 파티션 할당 전략라운드 로빈 파티션 할당 전략스티키 파티션 할당 전략협력적 스티키 파티션 할당 전략정확히 한 번 컨슈머 동작개요이번 글에서는 카프카의 컨슈머에 대한 동작 원리와 컨슈머 오프셋, 컨슈머들의 파티션 할당 정책과 프로듀서의 정확히 한 번 전송과 결합해 트랜잭션 컨슈머의 내부 동작에 대해서 글을 작성하도록 해보겠습니다.컨슈머 오프셋 관리컨슈머의 동작 중 가장 핵심은 오프셋 관리입니다.컨슈머의 오프셋의 역할은 메시지의 위치를 나타내는것입니다. 이러한 오프셋이 중요한 이유는 컨슈머가 일시적으로 동작을 멈추고 재시작 하는 경우에 새로운 컨슈머가 기존 컨슈머의 역할을 대신하는 경우에 기존 컨슈머의 마지막 메시지 위치부터 새로..
프로듀서의 내부 동작 원리(파티셔너, 배치)
파티셔너파티셔너의 라운드 로빈 전략라운드 로빈 전략의 단점을 극복하기 위한 스티키 파티셔닝 전략프로듀서의 배치메시지 전송 방식 정책적어도 한 번 전송(무슨 일이 있어도 적어도 한 번은 전송한다.)최대 한 번 전송(무슨 일이 있어도 한 번만 전송한다.)중복 없이 전송정확히 한 번 전송전송 정책 한 눈에 비교하기 파티셔너프로듀서는 데이터를 전송할 때 send() 메소드를 수행함으로써 프로듀서 → 시리얼 라이저 → 파티셔너를 거쳐 카프 카프카의 Topic으로 전송됩니다.이때 복수개의 Topic중 어떤 Topic으로 메시지 를 전송할 지를 결정해야 하는데 이때 사용하는 것이 파티셔너입니다.파티셔너는 예상치 못한 많은 양의 메시지가 카프카로 들어오는 경우 파티션을 늘릴 수 있는 기능을 제공합니다. 그러나 이러한 ..