인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

김동선님의 프로필 이미지

작성한 질문수

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

kafka-topics 명령어를 이용하여 Topic 생성 및 정보 확인하기

한대의 PC 에서의 Docker container 를 통한 cluster 구성

작성

·

100

0

안녕 하세요. 개발자님 궁금 한 것이 있어 문의 드립니다.

 

1.

1대의 PC 에서 docker container 환경에서 confluent kafka를 container 로 3개 를 뛰어서, 3 개의 Broker 환경을 만든다

가정 하고 --replication-factor=3 개로 설정 해서 사용 하는 방법에 대해서 어떤 생각을 가지고 있으신가요?

 

2.

docker image confluent kafka 를 사용 하는 것은 기존 container 환경에서 하지 않는 방시과 성능적인 차이가 있을까요?

 

너무 궁금 합니다.

 

답변 2

0

권 철민님의 프로필 이미지
권 철민
지식공유자

안녕하십니까,

  1. 가용성은 보통 멀티노드를 기반으로 합니다. 왜냐하면 노드가 죽는 경우를 기본 가용성으로 생각하기 때문입니다. 한개의 노드에서 3개의 브로커를 띄운다면 가용성 측면에서는 노드가 죽으면 다 죽기 때문에 일견 장점이 없어 보일 수도 있지만, 개별 브로커가 장애가 나는 경우 별 문제 없이 정상적인 운영이 가능하다는 장점이 있을 수는 있습니다.

성능적인 측면에서는 큰 장점이 없을 것 같습니다 replication factor는 multi node 환경을 감안해서 만들어 졌습니다. 그러니까 성능적인 측면 보다는 가용성 측면이 많이 고려된 아키텍처 입니다. 한개 노드가 죽으면 서비스를 못하는데, 굳이 3개 broker가 replication factor 3으로 I/O를 낭비해 가면서(성능 저하 요소를 감안하면서) 서비스할 이유는 없어 보입니다.

  1. docker를 사용하면 아무래도 가상환경이니까 성능이 조금은 떨어질 수 있겠지만, 5% 미만 정도 아닐까 싶습니다.

감사합니다.

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다.

김동선님의 질문은 Kafka를 로컬 환경에서 Docker 컨테이너로 클러스터를 구성하는 방법과 그에 따른 성능 및 차이점을 알아보고자 하는 것으로 보입니다.

  1. 한 PC에서 Docker 컨테이너로 Kafka 클러스터 구성을 하기

    • 구성 가능성: 한 대의 PC에서 Docker 컨테이너를 이용하여 3개의 Kafka 브로커를 생성하고 클러스터를 구성하는 것은 가능합니다. 이 방법을 사용하면 각 컨테이너가 독립적인 네트워크 환경을 제공하므로 실제 클러스터 환경과 유사하게 테스트할 수 있습니다. --replication-factor를 3으로 설정하면 데이터의 고가용성과 내구성을 시험할 수 있습니다.
    • 운영 고려사항: 하지만 실제 운영 환경에서는 하나의 물리적 노드에서 여러 브로커를 운영하는 것은 권장되지 않습니다. 이는 단일 장애 지점(SPOF)이 되어 모든 브로커들이 동시에 실패할 가능성이 있기 때문입니다.
  2. Docker 이미지로 Kafka 운영의 차이점

    • 장점: Docker를 사용하면 빠르고 쉽게 환경을 구성하고 테스트할 수 있습니다. 또한, 의존성 관리가 쉬워 개발 환경의 일관성을 유지하는 데 도움을 줍니다.
    • 성능 차이: 성능 측면에서는 Docker가 약간의 오버헤드를 추가할 수 있지만, 이는 일반적인 개발 및 테스트 환경에서 크게 문제가 되지 않습니다. 다만, 고성능을 요구하는 환경에서는 Bare Metal 대비 약간의 성능 저하가 있을 수 있습니다.

관련 게시물을 참고하실 수 있도록 링크를 제공해드립니다. 더 상세한 정보나 다른 시각에서의 팁을 얻으실 수 있을 것입니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.