한대의 PC 에서의 Docker container 를 통한 cluster 구성
145
작성한 질문수 11
안녕 하세요. 개발자님 궁금 한 것이 있어 문의 드립니다.
1.
1대의 PC 에서 docker container 환경에서 confluent kafka를 container 로 3개 를 뛰어서, 3 개의 Broker 환경을 만든다
가정 하고 --replication-factor=3 개로 설정 해서 사용 하는 방법에 대해서 어떤 생각을 가지고 있으신가요?
2.
docker image confluent kafka 를 사용 하는 것은 기존 container 환경에서 하지 않는 방시과 성능적인 차이가 있을까요?
너무 궁금 합니다.
답변 2
0
안녕하십니까,
가용성은 보통 멀티노드를 기반으로 합니다. 왜냐하면 노드가 죽는 경우를 기본 가용성으로 생각하기 때문입니다. 한개의 노드에서 3개의 브로커를 띄운다면 가용성 측면에서는 노드가 죽으면 다 죽기 때문에 일견 장점이 없어 보일 수도 있지만, 개별 브로커가 장애가 나는 경우 별 문제 없이 정상적인 운영이 가능하다는 장점이 있을 수는 있습니다.
성능적인 측면에서는 큰 장점이 없을 것 같습니다 replication factor는 multi node 환경을 감안해서 만들어 졌습니다. 그러니까 성능적인 측면 보다는 가용성 측면이 많이 고려된 아키텍처 입니다. 한개 노드가 죽으면 서비스를 못하는데, 굳이 3개 broker가 replication factor 3으로 I/O를 낭비해 가면서(성능 저하 요소를 감안하면서) 서비스할 이유는 없어 보입니다.
docker를 사용하면 아무래도 가상환경이니까 성능이 조금은 떨어질 수 있겠지만, 5% 미만 정도 아닐까 싶습니다.
감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다.
김동선님의 질문은 Kafka를 로컬 환경에서 Docker 컨테이너로 클러스터를 구성하는 방법과 그에 따른 성능 및 차이점을 알아보고자 하는 것으로 보입니다.
한 PC에서 Docker 컨테이너로 Kafka 클러스터 구성을 하기
- 구성 가능성: 한 대의 PC에서 Docker 컨테이너를 이용하여 3개의 Kafka 브로커를 생성하고 클러스터를 구성하는 것은 가능합니다. 이 방법을 사용하면 각 컨테이너가 독립적인 네트워크 환경을 제공하므로 실제 클러스터 환경과 유사하게 테스트할 수 있습니다.
--replication-factor를 3으로 설정하면 데이터의 고가용성과 내구성을 시험할 수 있습니다.
- 운영 고려사항: 하지만 실제 운영 환경에서는 하나의 물리적 노드에서 여러 브로커를 운영하는 것은 권장되지 않습니다. 이는 단일 장애 지점(SPOF)이 되어 모든 브로커들이 동시에 실패할 가능성이 있기 때문입니다.
- 구성 가능성: 한 대의 PC에서 Docker 컨테이너를 이용하여 3개의 Kafka 브로커를 생성하고 클러스터를 구성하는 것은 가능합니다. 이 방법을 사용하면 각 컨테이너가 독립적인 네트워크 환경을 제공하므로 실제 클러스터 환경과 유사하게 테스트할 수 있습니다.
Docker 이미지로 Kafka 운영의 차이점
- 장점: Docker를 사용하면 빠르고 쉽게 환경을 구성하고 테스트할 수 있습니다. 또한, 의존성 관리가 쉬워 개발 환경의 일관성을 유지하는 데 도움을 줍니다.
- 성능 차이: 성능 측면에서는 Docker가 약간의 오버헤드를 추가할 수 있지만, 이는 일반적인 개발 및 테스트 환경에서 크게 문제가 되지 않습니다. 다만, 고성능을 요구하는 환경에서는 Bare Metal 대비 약간의 성능 저하가 있을 수 있습니다.
- 장점: Docker를 사용하면 빠르고 쉽게 환경을 구성하고 테스트할 수 있습니다. 또한, 의존성 관리가 쉬워 개발 환경의 일관성을 유지하는 데 도움을 줍니다.
관련 게시물을 참고하실 수 있도록 링크를 제공해드립니다. 더 상세한 정보나 다른 시각에서의 팁을 얻으실 수 있을 것입니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
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





