작성
·
100
0
안녕 하세요. 개발자님 궁금 한 것이 있어 문의 드립니다.
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 클러스터 구성을 하기
--replication-factor
를 3으로 설정하면 데이터의 고가용성과 내구성을 시험할 수 있습니다.Docker 이미지로 Kafka 운영의 차이점
관련 게시물을 참고하실 수 있도록 링크를 제공해드립니다. 더 상세한 정보나 다른 시각에서의 팁을 얻으실 수 있을 것입니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.