Kafka Broker
카프카 클러스터는 다수의 카프카 브로커로 구성된다. 브로커는 서버를 의미한다.
카프카 브로커는 Integer 타입의 ID로 식별된다.
각각의 브로커는 특정한 토픽 파티션을 가진다.
- 데이터가 모든 브로커에 걸쳐 분산된다.
클러스터에 있는 모든 브로커를 미리 알고 있을 필요는 없다. 하나의 브로커에 연결하면 클라이언트가 자동으로 나머지에 연결된다.
브로커 개수는 3개 정도로 시작하는 것이 좋으며 여러 개로 설정 가능하다.
예시를 통해 브로커와 토픽의 관계를 이해해보자.
3개의 파티션으로 이루어진 토픽 A와 2개의 파티션으로 이루어진 토픽 B가 있다.
토픽 파티션은 순서에 상관 없이 모든 브로커에 걸쳐 분산되었다. (수평적 스케일링)
파티션과 브로커를 더 추가하면 더 많은 데이터가 전체 클러스터에 걸쳐 분산될 것이다.
이처럼 브로커는 모든 데이터를 갖는 것이 아니라 가져야하는 일부 데이터를 가진다.
클러스터에 있는 각각의 카프카 브로커를 ‘부트스트랩 서버’라 부른다.
- CLI나 Java 프로그래밍을 통해 카프카를 이용할 때 부트스트랩 서버 인수를 넣어줄 것이다.
여러 개의 브로커로 구성되어 있더라도 하나의 브로커에만 연결하면 카프카 클라이언트가 전체 클러스터에 연결하는 방법을 알게 된다.
참고)
'Kafka' 카테고리의 다른 글
[Kafka] 'Topic Replication'에 대해 알아보자 (0) | 2024.03.11 |
---|---|
[Kafka] 'Consumer'에 대해 알아보자 (0) | 2024.03.04 |
[Kafka] 'Producer과 Message key'에 대해 알아보자 (0) | 2024.03.02 |
[Kafka] 'Topic과 Partition'에 대해 알아보자 (0) | 2024.02.28 |