브로커? 파티션과, 리플리케이션, ISR 이란?

브로커란 kafka가 설치된 물리적 서버를 칭한다. 파티션과 리플리케이션은 토픽 생성시에 정하게 된다. 브로거카 3대 라고 생각하면 1:1, 1:2, 1:3 과 같이 파티션갯수, 리플리케이션 팩터를 지정 할 수있다.

토픽을 이렇게 생성하게 되면 브로커에서 다음과 같이 구성된다.

Untitled

Untitled

Untitled

위의 그림들을 보면 선언한것 처럼 partition 은 각 노드별로 1번만 사용하며, 복제는 1,2,3 으로 지정한 것을 사용 할 수있다. ISR(In Sync Replica) 이란 이처럼 replecation fector 로 선언하여 다른 노드와 파티션으로 복제하여 싱크를 맞춘 기능을 말한다. ISR 이라는 용어가 나온 이유는 Leader 파티션의 데이터를 Flowler 파이션으로 복제하는데 시간이 걸리기 때문에 생겨났다.

<aside> ⚠️ 또한 플리케이션 팩터를 정할때 노드수가 2개인데 replication fector:3 로 지정하면 현재 node 는 2개이기때문에 3개로 지정할수 없다고 에러가 발생한다.

Untitled

</aside>

replication fector 와 ISR을 사용할때는 ack 모드에 대해 알고 있어야 한다.

ack 모드란? 해당 페이지 참고할것 kafka ack mode 란?