- 카프카를 공부하시면서 생긴 질문들을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. zookeeper 실행시 오류가 발생했습니다. 무엇을 해야 할까요? 교재에 있는 그대로 ./bin/ zookeeper-server-start.sh ./config/ zookeeper.properties 이렇게 실행했구요. ./config/ zookeeper.properties 내용은 아래와 같습니다. # Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership. # The ASF licenses this file to You under the Apache License, Version 2.0 # (the "License"); you may not use this file except in compliance with # the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # the directory where the snapshot is stored. dataDir=/tmp/zookeeper # the port at which the clients will connect clientPort=2181 # disable the per-ip limit on the number of connections since this is a non-production config maxClientCnxns=0 # Disable the adminserver by default to avoid port conflicts. # Set the port to something non-conflicting if choosing to enable this admin.enableServer=false # admin.serverPort=8080
안녕하세요 강의 잘 듣고 있습니다 ㅎㅎ 앞선 강의에서 파티션은 늘릴 수는 있어도 줄일 수는 없다고 말씀하신 것 같은데 예시로 들으셨던 추석, 선날 등 특정 시점에 요청이 증가하는 케이스에서 컨슈머 랙이 지속적으로 증가하게 되는 것을 해결하기 위해서 파티션과 컨슈머를 증가시켜서 컨슈머 랙을 줄일 수 있겠지만 이후에 다시 요청이 줄었을 때는 이미 늘어난 파티션을 줄일 수 없는데.. 해당 해결방법 말고 다른 방법이 있는 걸까요? 아니면 늘어난 채로 계속 서비스하는 건지 궁금합니다 ㅎㅎ
Redis 로 문제점 해결하기 강의 7분 쯤에 나오는 설명으로, redis 는 싱글스레드 기반으로 동작하기 때문에 Thread 1 에서 10:00 에서 10:02 동안 incr coupon_count 메서드가 동작한다고 했을 때 10:02분에 끝나고나서 thread 2의 incr coupon_count 가 동작한다고 말씀하셨는데요 이는 딱 redis 가 싱글스레드로 동작하는 시간 만큼만이 lock 이 걸린 시간이라고 보면 될까요? 예컨데 ApplyService 의 apply 가 싱글 스레드, 단일 요청에 딱 2분이 걸리는 메서드라고 가정하고 그 안에 있는 couponCountRepository.increment() 가 1초가 걸린다고 가정하면 100개의 요청이 동시에 들어온 경우, 전체 요청이 모두 처리되는 시간이 2분 + 1*100초 = 3분 40초가 걸린다고 계산하는게 맞는거죠? 2분*100이 아니라요
강의 매우 유익하게 듣고 있습니다. 다른 질문들도 많이 찾아보았는데요 3버전은 실무에서 적극적으로 활용하고있는 사례가 없다라고 말씀하셨는데 카프카 버전이 현재기준으로는 2버전은 2.8.2버전까지 나온걸로 아는데 강의 들을 때 사용하는 2.5.0버전이 아직 현역인지 궁금합니다 ㅎㅎ (제가 근무하는 회사는 카프카 적용사례도 없고, 현황을 알기 어려워서요 ㅠㅠ) 우선 강의 기준 2.5.0으로 열심히 강의 듣고 2.8.x버전과 차이를 스스로 공부해보려고 하는데 개발하는데 차이가 없다면 2.8.2바전 기준으로 주키퍼버전도 올리고 듣는게 좋을까요? ㅎㅎ
강의를 들으면 카프카 커넥트와 카프카 컨슈머는 사실상 같은 동작을 하는데 왜 두 가지가 있나? 에 대해 고민하면서 의문이 든 점들을 여쭤볼려고 합니다. 카프카 커넥트를 사용하는 경우에는 "반복적인 파이프라인을 만들어야할 경우 분산모드 커넥트를 설치하고 운영"을 강조하셨습니다. 여기서 말하는 의미가 데이터 전처리 없이 바로 DB와 같은 외부에 데이터를 넘기는 경우를 말씀하시는 걸까요?? 그럼 카프카 컨슈머는 데이터 전처리가 필요할 때 사용하는 것일까요?? 전처리가 필요하고 단발적인 처리가 아닐 경우에는 consumer application을 파티션 갯수만큼 띄워서 데이터 처리량을 높이는게 맞는 걸까요?? --------------------------------------- 그리고 마지막으로 " 카프카 기술별 아키텍처 적용 방법 정리" 를 생각하지 말고 동일한 구현을 커넥트와 컨슈머 각각 구현한다면 커넥트가 조금 더 빠른 성능을 보이는걸까요?? 제가 아직 많이 부족해서 이해가 잘안되는 부분 질문드립니다!! 답변해주시면 정말 감사드리겠습니다!!
안녕하세요. 현재 KRaft를 도입하기 위해 하드웨어 구성을 검토 중입니다. 해소가 안 되는 궁금증이 있어 질문 올립니다. Kafka 서버에서 Kafka만 실행하는 게 일반적인지 궁금합니다. 로그 수집을 위해 Kafka 서버에서 opensearch도 함께 사용할 계획이었습니다. 일반적인 경우에 이렇게 하는 경우가 있는지, 아니면 분리하는 게 맞는지 선생님의 의견을 듣고 싶습니다.
개발자님 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 환경 구축 보다, 그냥 설치 해서 하는 방법이 좋다고 알고 있습니다. 또 성능이 좋아서 하나로도 충분 하다고 알고 있는데 맞는 걸까여? 성능을 측정 하는 것에 지식이 없어서 문의 드립니다.
안녕 하세요. 개발자님 궁금 한 것이 있어 문의 드립니다. 1. 1대의 PC 에서 docker container 환경에서 confluent kafka를 container 로 3개 를 뛰어서, 3 개의 Broker 환경을 만든다 가정 하고 --replication-factor=3 개로 설정 해서 사용 하는 방법에 대해서 어떤 생각을 가지고 있으신가요? 2. docker image confluent kafka 를 사용 하는 것은 기존 container 환경에서 하지 않는 방시과 성능적인 차이가 있을까요? 너무 궁금 합니다.
안녕하세요. 강의 잘 보고 있습니다. Gateway의 uri를 lb://MY_FIRST_SERVICE 로 수정했을 때 500 Internal Server Error가 났습니다. 처음에 Spring boot 버전에서 문제인가 싶어서 Spring boot 버전을 3.3.5 -> 3.2.0 으로 수정도 해보고 load-balancer도 추가해보고 했습니다. 결과적으로 lb://MY_FIRST_SERVICE 의 _(언더바)를 -하이픈으로 수정하니 정상 작동하는 것을 알았습니다. 그런데 여기서 이유를 GPT에게 물어본 결과 라는 답변을 받았습니다. 이러한 결과가 사실이 맞는지 궁금합니다. 구글링 해봤을 때 관련한 자료는 없어서 여쭤봅니다
안녕하세요 선생님. 질문이 있어 남깁니다. spring cloud gateway mvc모델에서 route별 httpclient의 readtimeout, connectiontimeout을 설정하는 방법이 있나요? reactive한 모델에서는 metadata를 이용하여 설정하는 것 같은데, documents를 아무리 뒤져도 mvc모델에서 전역적으로 타임아웃 설정하는 법만 있고, route별 설정하는 법이 없네요.. 어떻게 설정해야할까요?
안녕하세요 먼저 좋은 강의를 제공해주셔서 감사합니다. 바로 본론으로 들어가서, "카프카 기반 아키텍처" 섹션에서 스트림즈와 커넥트의 차이는 결국 Stateful 한 데이터에 대한 처리냐 아니냐 라고 말씀해주신거 같은데, 좀 더 구체적인 상황 사례가 있을까요? 스트림즈가 Stateful 한 데이터에 처리가 가능하다고 하는 것은 결국 스트림즈는 단일 파이프라인?, 단일 애플리케이션? 으로 구성되어야 한다는 의미일까요? (여러 파이프라인으로 분산 모드가 가능한 커넥트는 데이터 처리에 대해서 Stateful 할 수 없으니깐 말이죠)
안녕하세요 강사님 강의 잘 봤습니다. 덕분에 kafka와 redis를 어떤식으로 사용할 수 있는지 많은 걸 엿볼 수 있는 느낌이었습니다. 강의가 다 진행되고 난 후 궁금한 점이 하나 있습니다. 쿠폰 생성 에러 처리 관련되어서 질문이 있는데, 만약 메시지를 수신하는 쪽이 아니라 발송하는 쪽에서 문제가 생겼다면 어떻게 해야하나요? 예를들어 redis에서 increment로 수량에 대해서 가져왔지만, 만약 kafka에 메시지를 보내는 것이 실패 될 경우 reids에 있는 값을 다시 하나 줄여야할 것 같습니다. 이런 경우 try catch 블럭으로 처리를 하는 지? 아니면 다른 방식으로 예외처리 하는지 궁금합니다.