inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

카프카 완벽 가이드 - 코어편

Producer의 객체 직렬화(Serializer) 전송의 이해

Zookeeper 관련 문의 드립니다.

116

김동선

작성한 질문수 11

0

개발자님 Zookeeper 관련 전문가의 견해가 궁금 합니다.

 

Apache Kafka 에 Zookeeper 가 없이 설치 해서 사용 할 수 있는 것에 궁금한 것이 있습니다.

 

1.

Zookeeper 설치 없이 사용 하는 것은 Apache Kafka 에 Zookeeper 가 하던 task를 Apache Kafka 가 처리 하게 개발 하는 걸까요? 분리된 작업을 합치면 성능적 효과가 있는 걸까요?

 

2.

Zookeeper 설치 없이 사용 하는 Apache Kafka 를 하나의 PC에 docker container로 단일 브로커로 3개의 container을 만든다면, 실무에서 사용 사능 할까요?

 

3.

클러스터 환경에서 브로커를 두어 replication을 통해 가용성을 증가 시키는 것은 이해 했습니다. 혹 하나의 PC 에서 브로커를 여러개 두는 것은 가용성과는 크게 관련이 없는 것일까요?

4.

PC 한대에서 여러개의 Topic 을 통해 message 를 분류 해서 받는 것과,
PC 한대에서 브로커를 여러개 두어 message 를 분류 해서 받는 것의 성능 적 차이가 있을까요?

ex) 하나의 브러커에 2개의 토픽, 1번 토픽은 이미지만 받고 2번 토픽은 동영상만 받고,

2개의 브로커에 각각 1나의 토픽으로 1번 브로커에 이미지만 받고, 2번 브로커에 동영상만 받고,

둘다 consumer 가 소비 하는 데이터는 동일 하다는 가정 입니다.

 

5

하나의 PC에 container 환경 구축 보다, 그냥 설치 해서 하는 방법이 좋다고 알고 있습니다. 또 성능이 좋아서 하나로도 충분 하다고 알고 있는데 맞는 걸까여?

 

 

 

성능을 측정 하는 것에 지식이 없어서 문의 드립니다.

 

 

 

kafka 데이터-엔지니어링

답변 1

0

권 철민

  1. 강의에서는 소개 드리지 않지만, Kafka 신버전(아마도 3.5) 부터는 zookeeper 를 사용하지 않고 zookeper가 수행하는 기능을 KRaft로 대체할 수 있습니다. 기존 zookeeper 보다 좀더 성능적이 측면에서 우수하다고 합니다. 하지만 이건 수십 ~ 수백대 이상의 Kakfa cluster 환경에서의 개선이며, 일반적으로는 성능상 큰 차이가 없는 것으로 알고 있습니다. 아래를 참조해 보시면 좋을 것 같습니다.

    https://devocean.sk.com/blog/techBoardDetail.do?ID=165711&boardType=techBlog

  2. 네, 사용가능합니다.

  3. 일반적으로 가용성과는 좀 거리가 있습니다. 해당 질문은 바로 이전에 질문하신 내용을 참조하시면 좋을 것 같습니다.

  4. 보통은 노드당 1개의 Kafka broker를 적용합니다. 물론 Kubernetes 환경에서 구동된다면 완전히 다른 이야기 이겠지만... 여러개의 topic을 여러 broker에서 개별적으로 사용하는 방식이 성능적으로 더 나은지는 저도 테스트를 안해봐서 잘 모르겠습니다. 개인적인 생각으로는 큰 차이가 없을 것 같습니다만, 장단점은 있을 것 같습니다. 2개의 broker에서 각각 1개씩 topic을 처리하는 경우에 조금 동시접속량을 좀 더 향상시킬 수는 있을 것 같습니다. 물론 2개의 broker를 띄우기 때문에 메모리 사용량이 증가하고 서로 다른 port로 관리해야 되는 부담이 있을 수는 있지만, 성능적인 측면에서는 약간이라도 나을 수는 있을 것 같습니다. 하지만 큰 차이는 아닐 것 같습니다.

  5. Kubernetes 기반이 아니라면 굳이 운영에서 docker를 사용할 이유는 없어 보입니다만, docker 로 infra를 구성하는 것이 운영 방안이라면 따르면 될 것 같습니다. docker가 가상환경이기 때문에 성능 저하는 있을 수 있는데 5% 미만 정도로 생각됩니다.

virtual box 설치 문제

0

62

2

카프카 서버 구축 관련 문의

0

67

2

카프카 토픽 Key 타입 변경에 관한 질문

0

70

2

Zookeeper에서 KRaft

0

78

1

카프카 학습과 관련하여 질문 드립니다

0

98

2

파티션 증가시 비용 증가 고려

0

72

2

Kafka 초기 Partition 개수 설정 관련 질문

0

83

2

VM 과 도커의 차이

0

139

2

vm 어댑터설정 문의

0

78

2

Cooperative Sticky Rebalancing 질문

0

58

2

consumer 설정 질문

0

68

2

consumer.poll 질문입니다.

1

69

2

mainThread.join() 관련 질문

0

57

2

문의

0

153

2

멀티 브로커 설정 중 포트 충돌 발생

0

120

2

Consumer Group 강의 Lag 질문있습니다!

0

107

2

강의 설명 및 코드 정리

0

174

2

실습 코드는 어디서 받나요.. 아무리 찾아도 엄네요..

0

151

1

java.nio.BufferUnderflowException 에러 발생합니다..

0

158

3

KafkaTimeoutError:

0

157

2

acks 1 이면 비동기가 아니지 않나요?!

0

185

2

Producer의 메시지 비동기화 전송 구현 강좌 내용 중 질문

0

109

2

자문자답: 데이터 누락된다고 하시는 분 참고하세요.

0

216

2

자문자답: kafka Error connecting to node utuntu-20.myguest.virtualbox.org:9092

0

203

2