카테고리 없음
프로듀서와 컨슈머
pastime
2022. 1. 3. 00:42
728x90
프로듀서는 새로운 메시지를 생성, 다른 시스템에서는 프로듀서를 발행자 또는 작성자 라고도 한다.
메시지는 특정 토픽으로 생성되며, 기본적으로 프로듀서는 메시지가 어떤 파티션에 수록되는지 관여하지 않는다.
그러나 프로듀서가 특정 파티션에 메시지를 직접 쓰는 경우가 있는데, 이때는 메시지 키와 파티셔너를 사용한다.
? 파티셔너는 키의 해시 값을 생성, 그것을 특정 파티션에 대응시킴으로 지정된 키를 갖는 메시지가 항상 같은 파티션에 수록되도록 한다.
컨슈머는 메시지를 읽으며 다른 시스템에서는 구독자 또는 독자라고 한다.
컨슈머는 하나 이상의 토픽을 구독하여 메시지가 생성된 순서대로 읽으며, 메시지의 오프셋을 유지하여 읽어, 메시지의 위치를 알 수 있다. 파티션에 수록된 각 메시지는 고유한 오프셋을 갖는다.
주키퍼나 카프카에서는 각 파티션에서 마지막에 읽는 오프셋을 저장하고 있으며, 컨슈머가 메시지를 읽다 중지 후 다시 읽을 경우 언제든 다음 메시지부터 읽을 수 있다.
컨슈머는 컨슈머 그룹의 멤버로 동작한다.
컨슈머 그룹은 하나 이상의 컨슈머로 구성.
토픽의 하나의 파티션은 하나의 컨슈머만 소비할수 있다.
A토픽의 0번째 파티션에 2개 이상의 컨슈머가 붙을수 없다.
반대로 하나의 컨슈머가 여러개의 파티션에 붙을 수 있다.
각 컨슈머가 특정 파티션에 대응되는것을 파티션 소유권 이라고 한다.
728x90