inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

172만명의 커뮤니티!! 함께 토론해봐요.

concurrency 설정 + 같은 groupId 내에 consumer 여러개

미해결

실전에서 바로 써먹는 Kafka 입문

concurrency 관련하여 궁금한점이 있습니다. 하나의 topic (ex. email.send) 에 5개의 파티션이 있다고 가정. 같은 groupId 로 지정된 consumer 2 (A, B)개가 있고 각각 concurrency=3 으로 설정이 되어 있다고 가정 이런 경우, 같은 groupId 내의 컨슈머는 같은 partition 을 consume 할 수 없으니 1개의 thread 는 동작하지 않게 된다고 보면 될까요? A-1 thread ===> partition 1 A-2 thread ===> partition 2 A-3 thread ===> partition 3 B-1 thread ===> partition 4 B-2 thread ===> partition 5 B-3 thread (동작안함) ====> x 추가로 실무에서는 일반적으로 concurrency 옵션을 사용하는지 궁금합니다.

  • kafka
  • EDA
  • msa
  • devops
  • infrastructure
writer0713 댓글 2 좋아요 0 조회수 107

concurrency 동작 안됨

미해결

실전에서 바로 써먹는 Kafka 입문

하나의 consumer 에서 concurrency 옵션을 통해 멀티 쓰레드로 동작이 되는지 테스트를 해봤는데 강좌화면에서처럼 consumer 가 멀티스레드로 동작하지 않는것 같습니다. partition : 3개 concurrency : 3 partitional.class: org.apache.kafka.clients.producer.RoundRobinPartitional 로그 : 로그를 봐서는 roundrobin 으로 설정을 했음에도 하나의 partition 으로 메시지가 들어가는것 같습니다. 그리고, consumer 도 하나의 스레드로 message 를 consume 하는것으로 보입니다. 2025-10-15T16:01:15.466+09:00 INFO 11736 --- [kafka-practice] [ntainer#0-2-C-1] c.w.kafkapractice.service.OrderService : Received message {"name":"Product-4","price":4000} 2025-10-15T16:01:17.473+09:00 INFO 11736 --- [kafka-practice] [ntainer#0-2-C-1] c.w.kafkapractice.service.Refresher : Done processing order.. 2025-10-15T16:01:17.474+09:00 INFO 11736 --- [kafka-practice] [ntainer#0-2-C-1] c.w.kafkapractice.service.OrderService : Received message {"name":"Product-8","price":8000} 2025-10-15T16:01:19.480+09:00 INFO 11736 --- [kafka-practice] [ntainer#0-2-C-1] c.w.kafkapractice.service.Refresher : Done processing order.. 2025-10-15T16:01:19.481+09:00 INFO 11736 --- [kafka-practice] [ntainer#0-2-C-1] c.w.kafkapractice.service.OrderService : Received message {"name":"Product-16","price":16000} 2025-10-15T16:01:21.485+09:00 INFO 11736 --- [kafka-practice] [ntainer#0-2-C-1] c.w.kafkapractice.service.Refresher : Done processing order.. 2025-10-15T16:01:21.486+09:00 INFO 11736 --- [kafka-practice] [ntainer#0-2-C-1] c.w.kafkapractice.service.OrderService : Received message {"name":"Product-15","price":15000} 2025-10-15T16:01:23.491+09:00 INFO 11736 --- [kafka-practice] [ntainer#0-2-C-1] c.w.kafkapractice.service.Refresher : Done processing order.. 2025-10-15T16:01:23.491+09:00 INFO 11736 --- [kafka-practice] [ntainer#0-2-C-1] c.w.kafkapractice.service.OrderService : Received message {"name":"Product-5","price":5000} 2025-10-15T16:01:25.494+09:00 INFO 11736 --- [kafka-practice] [ntainer#0-2-C-1] c.w.kafkapractice.service.Refresher : Done processing order.. 2025-10-15T16:01:25.495+09:00 INFO 11736 --- [kafka-practice] [ntainer#0-2-C-1] c.w.kafkapractice.service.OrderService : Received message {"name":"Product-18","price":18000} 2025-10-15T16:01:27.499+09:00 INFO 11736 --- [kafka-practice] [ntainer#0-2-C-1] c.w.kafkapractice.service.Refresher : Done processing order.. 2025-10-15T16:01:27.501+09:00 INFO 11736 --- [kafka-practice] [ntainer#0-2-C-1] c.w.kafkapractice.service.OrderService : Received message {"name":"Product-3","price":3000} 2025-10-15T16:01:29.510+09:00 INFO 11736 --- [kafka-practice] [ntainer#0-2-C-1] c.w.kafkapractice.service.Refresher : Done processing order.. 2025-10-15T16:01:29.510+09:00 INFO 11736 --- [kafka-practice] [ntainer#0-2-C-1] c.w.kafkapractice.service.OrderService : Received message {"name":"Product-9","price":9000} 2025-10-15T16:01:31.514+09:00 INFO 11736 --- [kafka-practice] [ntainer#0-2-C-1] c.w.kafkapractice.service.Refresher : Done processing order.. 2025-10-15T16:01:31.515+09:00 INFO 11736 --- [kafka-practice] [ntainer#0-2-C-1] c.w.kafkapractice.service.OrderService : Received message {"name":"Product-13","price":13000} 2025-10-15T16:01:33.522+09:00 INFO 11736 --- [kafka-practice] [ntainer#0-2-C-1] c.w.kafkapractice.service.Refresher : Done processing order.. 2025-10-15T16:01:33.522+09:00 INFO 11736 --- [kafka-practice] [ntainer#0-2-C-1] c.w.kafkapractice.service.OrderService : Received message {"name":"Product-1","price":1000} 2025-10-15T16:01:35.527+09:00 INFO 11736 --- [kafka-practice] [ntainer#0-2-C-1] c.w.kafkapractice.service.Refresher : Done processing order.. 2025-10-15T16:01:35.529+09:00 INFO 11736 --- [kafka-practice] [ntainer#0-2-C-1] c.w.kafkapractice.service.OrderService : Received message {"name":"Product-11","price":11000} 2025-10-15T16:01:37.532+09:00 INFO 11736 --- [kafka-practice] [ntainer#0-2-C-1] c.w.kafkapractice.service.Refresher : Done processing order.. 2025-10-15T16:01:37.532+09:00 INFO 11736 --- [kafka-practice] [ntainer#0-2-C-1] c.w.kafkapractice.service.OrderService : Received message {"name":"Product-19","price":19000} 2025-10-15T16:01:39.538+09:00 INFO 11736 --- [kafka-practice] [ntainer#0-2-C-1] c.w.kafkapractice.service.Refresher : Done processing order.. 2025-10-15T16:01:39.538+09:00 INFO 11736 --- [kafka-practice] [ntainer#0-2-C-1] c.w.kafkapractice.service.OrderService : Received message {"name":"Product-7","price":7000} 2025-10-15T16:01:41.539+09:00 INFO 11736 --- [kafka-practice] [ntainer#0-2-C-1] c.w.kafkapractice.service.Refresher : Done processing order.. 2025-10-15T16:01:41.539+09:00 INFO 11736 --- [kafka-practice] [ntainer#0-2-C-1] c.w.kafkapractice.service.OrderService : Received message {"name":"Product-6","price":6000} 2025-10-15T16:01:43.543+09:00 INFO 11736 --- [kafka-practice] [ntainer#0-2-C-1] c.w.kafkapractice.service.Refresher : Done processing order.. 2025-10-15T16:01:43.544+09:00 INFO 11736 --- [kafka-practice] [ntainer#0-2-C-1] c.w.kafkapractice.service.OrderService : Received message {"name":"Product-20","price":20000} 2025-10-15T16:01:45.554+09:00 INFO 11736 --- [kafka-practice] [ntainer#0-2-C-1] c.w.kafkapractice.service.Refresher : Done processing order.. 2025-10-15T16:01:45.555+09:00 INFO 11736 --- [kafka-practice] [ntainer#0-2-C-1] c.w.kafkapractice.service.OrderService : Received message {"name":"Product-10","price":10000} 2025-10-15T16:01:47.560+09:00 INFO 11736 --- [kafka-practice] [ntainer#0-2-C-1] c.w.kafkapractice.service.Refresher : Done processing order.. 2025-10-15T16:01:47.560+09:00 INFO 11736 --- [kafka-practice] [ntainer#0-2-C-1] c.w.kafkapractice.service.OrderService : Received message {"name":"Product-14","price":14000} 2025-10-15T16:01:49.566+09:00 INFO 11736 --- [kafka-practice] [ntainer#0-2-C-1] c.w.kafkapractice.service.Refresher : Done processing order.. 2025-10-15T16:01:49.566+09:00 INFO 11736 --- [kafka-practice] [ntainer#0-2-C-1] c.w.kafkapractice.service.OrderService : Received message {"name":"Product-17","price":17000} 2025-10-15T16:01:51.568+09:00 INFO 11736 --- [kafka-practice] [ntainer#0-2-C-1] c.w.kafkapractice.service.Refresher : Done processing order.. 2025-10-15T16:01:51.568+09:00 INFO 11736 --- [kafka-practice] [ntainer#0-2-C-1] c.w.kafkapractice.service.OrderService : Received message {"name":"Product-2","price":2000} 2025-10-15T16:01:53.575+09:00 INFO 11736 --- [kafka-practice] [ntainer#0-2-C-1] c.w.kafkapractice.service.Refresher : Done processing order.. 2025-10-15T16:01:53.577+09:00 INFO 11736 --- [kafka-practice] [ntainer#0-2-C-1] c.w.kafkapractice.service.OrderService : Received message {"name":"Product-12","price":12000} 2025-10-15T16:01:55.581+09:00 INFO 11736 --- [kafka-practice] [ntainer#0-2-C-1] c.w.kafkapractice.service.Refresher : Done processing order.. github 소스코드 : https://github.com/writer0713/kafka-practice/blob/4cee9e560b2459c4bcbb6b183f3791d70cddd3d1/src/main/kotlin/com/writer0713/kafkapractice/service/OrderService.kt#L34

  • kafka
  • EDA
  • msa
  • devops
  • infrastructure
writer0713 댓글 3 좋아요 0 조회수 104

중복 컨슘 방지에 대해서 여쭤보고 싶습니다!

해결됨

카카오 면접관과 함께하는 워크플로우 기반의 대용량 트래픽 처리 기법

만약 카프카를 사용하고 있고 처리 실패하는 경우 retry 큐로 보내서 재시도 하는 방식을 사용하고 있다고 가정하겠습니다. 만약 서버가 메시지를 받아서 처리하던 중에 리밸런싱이 발생했습니다. 메시지를 성공적으로 처리했고 커밋을 하려했지만 리밸런싱이 발생해 커밋을 하지 못했습니다. 그럼 그 메시지는 다른 컨슈머가 다시 받아서 중복으로 처리할 수 있을것 같은데 어떻게 방지를 할 수 있나요..? 찾아보니 인박스 패턴이라는것이 있던데 메시지를 받았을 때 상태를 저장하고 이후에 재시도를 해도 상태값이 있다면 패스하는 방식으로 이해를 했습니다. 하지만 위에 상황에서 첫 컨슘에서 메시지를 처리하고 있다가 리밸런싱이 발생했고 이후에 다시 처리할 때 상태값이 있어서 패스 했습니다. 하지만 이후에 첫 컨슘에서 처리중에 예외가 발생했다면 어떻게 처리를 해야할까요...?

  • spring
  • kotlin
  • mysql
  • kafka
  • EDA
  • 카카오공채-개발
YOGURT 댓글 2 좋아요 0 조회수 134

전체적인 플로우에 대해 질문드립니다.

해결됨

카카오 면접관과 함께하는 워크플로우 기반의 대용량 트래픽 처리 기법

이론 부분을 제가 이해를 잘 못해서 질문드리는 것 같은데요, Kafka와 Debezium 까지의 전반적인 그림은 그려지는데 temporal(acitivity나 workFlow클래스 등) 까지 합쳐졌을 때의 플로우가 잘 이해가 가지 않는데 구상하신 아키텍처를 모두 합친 플로우가 궁금합니다!

  • spring
  • kotlin
  • mysql
  • kafka
  • EDA
  • 카카오공채-개발
dbghksdn92 댓글 2 좋아요 0 조회수 115

Temporal에 대해서 더 알고 싶어요.

해결됨

카카오 면접관과 함께하는 워크플로우 기반의 대용량 트래픽 처리 기법

교육을 듣다보니 Temporal에 대해서 더 알고 싶은데 Temporal 공식 사이트는 너무 방대하고, 사용법 위주로 설명되어 있어서, 혹시 내부 아키텍처 같은 내용을 참고할 수 있는 자료가 있을까요?

  • spring
  • kotlin
  • mysql
  • kafka
  • EDA
  • 카카오공채-개발
수박 댓글 2 좋아요 0 조회수 1180

컨슈머 서버 점진적 배포 시나리오

해결됨

실전에서 바로 써먹는 Kafka 입문

컨슈머 서버가 3대 떠있을때 점진적 배포를 어떤식으로 진행하시나요? 기존 서버군을 죽이면 리밸런싱 되겠지만, 신규 배포에 문제가 생겼다고 판단될때 즉각적인 롤백이 안될것 같은데요. 어떤식으로 하시나요?

  • kafka
  • EDA
  • msa
  • devops
  • infrastructure
sy 댓글 2 좋아요 0 조회수 88

'서비스 개발자를 위한 Kafka 쉽고 깊게 알기' 학습자료 오류

해결됨

카카오 면접관과 함께하는 워크플로우 기반의 대용량 트래픽 처리 기법

자료를 다운로드 하면, 윈도우에서는 대부분의 압축파일 내에 파일이 없다고 나옵니다. Mac에서 작업하셔서 그런 것 같은데 확인 부탁드립니다.

  • spring
  • kotlin
  • mysql
  • kafka
  • EDA
  • 카카오공채-개발
수박 댓글 3 좋아요 0 조회수 122

코틀린

해결됨

카카오 면접관과 함께하는 워크플로우 기반의 대용량 트래픽 처리 기법

안녕하세요 이번에 수강하려고 하는데 코틀린 한 번도 안 해봤는데 이 수업은 무리일까요? 계속 자바만 사용했던 상태이고 아직 코틀린 배울 생각은 없는데 이 수업은 듣고 싶어서 여쭤봅니다 ㅠㅠ 감사합니다.

  • spring
  • kotlin
  • mysql
  • kafka
  • EDA
  • 카카오공채-개발
댓글 2 좋아요 0 조회수 123

Connection -1

미해결

실전에서 바로 써먹는 Kafka 입문

이 에러가 자꾸 뜨는데 어떻게 해결해야 할지 감이 안 잡혀 질문 들빈다. 서버를 다시 키고 해도 똑같은 에러가 계속 발생합니다.

  • kafka
  • EDA
  • msa
  • devops
  • infrastructure
KMC 댓글 2 좋아요 0 조회수 83

적정 파티션 개수 계산하는 방법 질문드립니다

미해결

실전에서 바로 써먹는 Kafka 입문

안녕하세요 강사님 질문을 자주올리는것같아 죄송하고 답변달아주셔서 감사합니다. pdf에 나온것처럼 프로듀서가 보내는 메시지량은 120 하나의 쓰레드가 처리하는 메세지량 0.3 을기준으로 토픽의 파티션을 400개로 생성했을때 어플리케이션 서비스의 max 스레드가 기본값 200이라 가정하에 파티션 400개를 처리하려면 스레드가 200개가 더 필요하니 대부분 실무에서는 200 스레드 기준으로 2개의 컨슈머 서비스를 구동시키나요? 추가로 부하테스트 강의에도 지금 강의에 설명되는 파트가 ( 카프카 파티션구하기 관련? ) 따로 있는지도 궁금합니다

  • kafka
  • EDA
  • msa
  • devops
  • infrastructure
나마스테 댓글 2 좋아요 0 조회수 160

섹션5 33 질문드립니다

미해결

실전에서 바로 써먹는 Kafka 입문

안녕하세요 강사님 지금은 샘플 프로젝트라 하나의 컨슈머 서버에서 파티션3개를 처리하고있는데 만약 email.send topic기준으로 파티션을 5개 생성했을때 컨슈머 서버도 5개를 띄우는게 일반적인가요? 실무기준으로 궁금합니다 추가로 하나의 컨슈머에서 지금은 email.send 토픽만 구독하고있는데 만약 토픽이 slack.send , telegram.send 등 여러가지가 있을경우 컨슈머 어플리케이션에서 카프카리스너를 다중으로 등록하는게 일반적인가요 아니면 각 토픽마다 서비스를 띄우는게 일반적인가요? 만약 각 토픽마다 서비스를 띄운다가정했을때 email.send topic 파티션 5개 => 서비스 5개 구동 필요 slack.send topic 파티션 3개 => 서비스 3개 구동 필요 총 8개가 띄워지는게 일반적인건지 .. 실무기준으로 궁금합니다

  • kafka
  • EDA
  • msa
  • devops
  • infrastructure
나마스테 댓글 1 좋아요 0 조회수 67

aws아닌 도커로는 안되나요?

미해결

실전에서 바로 써먹는 Kafka 입문

aws 인스턴스 종료를 하는 경우 퍼블릭 ip가 바뀌어 proeprties내용을 변경해야하는 상황이 계속 발생하는데 도커로 진행해도 강의 수강에 지장없을까요?

  • kafka
  • EDA
  • msa
  • devops
  • infrastructure
skyjoon2 댓글 2 좋아요 0 조회수 133

파티션 증가 질문드립니다

미해결

실전에서 바로 써먹는 Kafka 입문

안녕하세요 강사님 파티션의경우 줄일수 없다고 설명해주셨는데 만약 예로들어 실무에서 하나의 토픽 기준으로 3개의 파티션으로 작업도중 데이터 처리량이 많아져서 랙이 쌓이는걸 확인했을때 파티션을 늘리고 컨슈머도 늘린다고 가정했을때 따로 문제는없는걸까요? ( 줄이는경우에는 새로운 토픽을 생성하여 마이그레이션 한다고 설명해주셨는데 늘리는건 실제 사용중 파티션을 늘렸을때 아무런 문제가 없는지 궁금합니다 )

  • kafka
  • EDA
  • msa
  • devops
  • infrastructure
나마스테 댓글 2 좋아요 0 조회수 104

섹션7 51 컨슈머서버 무한 리로드?

미해결

실전에서 바로 써먹는 Kafka 입문

이전에 컨슈머 서버 ( email-send-consumer ) 에서는 문제가없었는데 마지막 email-service에서는 2025-08-28T23:50:12.394+09:00 INFO 40252 --- [ner#0.dlt-0-C-1] o.a.k.c.c.internals.ConsumerCoordinator : [Consumer clientId=consumer-email-service.dlt-29, groupId=email-service.dlt] Discovered group coordinator 13.209.11.23:9092 (id: 2147483646 rack: null) 2025-08-28T23:50:12.394+09:00 INFO 40252 --- [ner#0.dlt-0-C-1] o.a.k.c.c.internals.ConsumerCoordinator : [Consumer clientId=consumer-email-service.dlt-29, groupId=email-service.dlt] Request joining group due to: rebalance failed due to 'The coordinator is not available.' (CoordinatorNotAvailableException) 2025-08-28T23:50:12.396+09:00 INFO 40252 --- [ner#0.dlt-2-C-1] o.a.k.c.c.internals.ConsumerCoordinator : [Consumer clientId=consumer-email-service.dlt-31, groupId=email-service.dlt] Discovered group coordinator 13.209.11.23:9092 (id: 2147483646 rack: null) 2025-08-28T23:50:12.396+09:00 INFO 40252 --- [ner#0.dlt-1-C-1] o.a.k.c.c.internals.ConsumerCoordinator : [Consumer clientId=consumer-email-service.dlt-30, groupId=email-service.dlt] (Re-)joining group 2025-08-28T23:50:12.396+09:00 INFO 40252 --- [ner#0.dlt-2-C-1] o.a.k.c.c.internals.ConsumerCoordinator : [Consumer clientId=consumer-email-service.dlt-31, groupId=email-service.dlt] Request joining group due to: rebalance failed due to 'The coordinator is not available.' (CoordinatorNotAvailableException) 2025-08-28T23:50:12.399+09:00 INFO 40252 --- [ner#0.dlt-0-C-1] o.a.k.c.c.internals.ConsumerCoordinator : [Consumer clientId=consumer-email-service.dlt-29, groupId=email-service.dlt] (Re-)joining group 2025-08-28T23:50:12.401+09:00 INFO 40252 --- [ner#0.dlt-2-C-1] o.a.k.c.c.internals.ConsumerCoordinator : [Consumer clientId=consumer-email-service.dlt-31, groupId=email-service.dlt] (Re-)joining group 2025-08-28T23:50:12.411+09:00 INFO 40252 --- [ner#0.dlt-1-C-1] o.a.k.c.c.internals.ConsumerCoordinator : [Consumer clientId=consumer-email-service.dlt-30, groupId=email-service.dlt] Successfully joined group with generation Generation{generationId=261, memberId='consumer-email-service.dlt-30-5a032e9e-a903-4fb7-9004-487d74eb6c79', protocol='range'} 2025-08-28T23:50:12.411+09:00 INFO 40252 --- [ner#0.dlt-2-C-1] o.a.k.c.c.internals.ConsumerCoordinator : [Consumer clientId=consumer-email-service.dlt-31, groupId=email-service.dlt] Successfully joined group with generation Generation{generationId=261, memberId='consumer-email-service.dlt-31-0cdcda6c-6ddf-4e0b-980a-868f587ed2bd', protocol='range'} 2025-08-28T23:50:12.411+09:00 INFO 40252 --- [ner#0.dlt-0-C-1] o.a.k.c.c.internals.ConsumerCoordinator : [Consumer clientId=consumer-email-service.dlt-29, groupId=email-service.dlt] Successfully joined group with generation Generation{generationId=261, memberId='consumer-email-service.dlt-29-2b16177f-2cc3-44c0-b244-50109078218e', protocol='range'} 2025-08-28T23:50:12.411+09:00 INFO 40252 --- [ner#0.dlt-1-C-1] o.a.k.c.c.internals.ConsumerCoordinator : [Consumer clientId=consumer-email-service.dlt-30, groupId=email-service.dlt] Finished assignment for group at generation 261: {consumer-email-service.dlt-31-0cdcda6c-6ddf-4e0b-980a-868f587ed2bd=Assignment(partitions=[]), consumer-email-service.dlt-29-2b16177f-2cc3-44c0-b244-50109078218e=Assignment(partitions=[user.signed-up.dlt-0]), consumer-email-service.dlt-30-5a032e9e-a903-4fb7-9004-487d74eb6c79=Assignment(partitions=[])} ... 이런식으로 계속 로그가 반복됩니다 프로듀서에 발행은 완료됐고 cli에서 메세지도 확인했는데 컨슈머서버에서 저렇게 자꾸 정상적으로 작동을 하지않습니다 @Service public class UserSignedUpEventConsumer { private final EmailLogRepository emailLogRepository; public UserSignedUpEventConsumer(EmailLogRepository emailLogRepository) { this.emailLogRepository = emailLogRepository; } @KafkaListener( topics = "user.signed-up", groupId = "email-service", concurrency = "3" ) @RetryableTopic( attempts = "5", backoff = @Backoff(delay = 1000, multiplier = 2), // 1 초 2초 4초 8초 16초 5번 dltTopicSuffix = ".dlt" ) public void consume(String message) throws InterruptedException { UserSignedUpEvent userSignedUpEvent = UserSignedUpEvent.fromJson(message); // 실제 이메일 발송 로직 String receiverEmail = userSignedUpEvent.getEmail(); String subject = userSignedUpEvent.getName() + "님 회원가입 ㅊㅋ"; Thread.sleep(3000); System.out.println("메일 발송 완료"); // 이메일 발송 로그 저장 EmailLog emailLog = new EmailLog(userSignedUpEvent.getUserId(), receiverEmail, subject); emailLogRepository.save(emailLog); } 강사님 코드랑 이전 email-send-consumer 서비스 코드 및 야믈파일도 몇번 확인했는데 다른점이 없습니다 왜그런걸까요

  • kafka
  • EDA
  • msa
  • devops
  • infrastructure
나마스테 댓글 4 좋아요 0 조회수 183

섹션6 43 질문드립니다

미해결

실전에서 바로 써먹는 Kafka 입문

안녕하세요, 강의 잘보고있습니다. 프로듀서나 컨슈머서버 야믈파일에서 3개의 ip를 적고있는데 만약 컨슈머 서버를 2대이상 돌렸을때 기준으로 각 서비스마다 ip를 똑같이 3개 적어야하는건가요? 아니면 1번 서버에서는 리더 노드ip 만 2번 서버에서는 팔로워 파티션 노드 ip 만 이런식으로 나눠서 적용하나요? 또 저런식으로 서버가 나눠져있는경우 순차적으로 메세지 처리는 이전에 강의에서 언급한 하나의 파티션은 단 하나의 컨슈머에만 할당되고 컨슈머는 메세지를 순서대로 처리한다했는데 순서에는 상관이 없는걸까요? 추가로 그다음 섹션보다가 궁금한게 현업에서도 라운드로빈방식을 대부분 사용하나요? 실무기준에서 궁금합니다!

  • kafka
  • EDA
  • msa
  • devops
  • infrastructure
나마스테 댓글 3 좋아요 0 조회수 78

kafka [37강의]

미해결

실전에서 바로 써먹는 Kafka 입문

[1] 기존 Kafka 프로세스 확인 및 종료 [2] 포트 사용 여부 확인 [3] 깔끔하게 다시 시작 bin/ kafka-server-start.sh config/ server.properties 같은 에러가 뜹니다. 에러 원인을 확인하기가 힘드네요 ㅠ

  • kafka
  • EDA
  • msa
  • devops
  • infrastructure
익명리 댓글 2 좋아요 0 조회수 90

섹션6. 36,37

미해결

실전에서 바로 써먹는 Kafka 입문

섹션6. 36,37 강의를 실습하고 다음날 다시 bin/ kafka-server-start.sh config/ server.properties 명령어 써서 실행시키려니까 이렇게 뜨고 실행이 안됩니다. 원인이 뭘까요?

  • kafka
  • EDA
  • msa
  • devops
  • infrastructure
익명리 댓글 2 좋아요 1 조회수 89

CSV파일의 인코딩 오류 문제

미해결

데이터 마이닝

귀한 수업 너무 감사합니다. 죄송한데, csv파일의 경우 인코딩이 깨져서 글씨가 한글이 아닌 다른 꺠진 글씨로 나오는 바람에 코딩을 정상적으로 할 수 없습니다. 엑셀에서 csv파일로 불러와서 인코딩 UTF-8로 변경 해서 저장해도 코드가 잘 되지 않습니다. 혹시 CSV파일만 다시 정정해서 수정해서 업로드 해 주실 수 없나요?

  • 머신러닝
  • EDA
  • 알고리즘
Haewon Byeon 댓글 1 좋아요 0 조회수 106

msa 강좌 관련해서 질문 있어서 글 남깁니다!

미해결

실전에서 바로 써먹는 Kafka 입문

안녕하세요! 수업 정말 잘 듣고 있는 수강생입니다!! 다름이 아니라 msa 강좌 일정 관련해서 언제쯤 나오는지 궁금해서 글 남깁니다! (어디에 질문 남길지 고민하다가 그냥 여기에 남겼어요..ㅠㅠ)

  • kafka
  • EDA
  • msa
  • devops
  • infrastructure
김준성 댓글 2 좋아요 0 조회수 92

Kafka concurrency

미해결

실전에서 바로 써먹는 Kafka 입문

안녕하세요, Consumer 서버가 2대라고 가정해보겠습니다. @KafkaListener의 concurrency 값을 설정을 2으로 설정하였다고 가정한다면, 2개의 스레드가 생성이돼서 병렬적으로 파티션을 처리할텐데 위의 설정 없이 그냥 @KafkaListener가 붙은 메서드에 @Async를 통해서 ThreadPool의 크기를 2으로 설정하였다면, 동일하게 동작하게 되는걸까요? 스프링 MVC의 경우 톰캣 기본 설정이 200 정도의 스레드풀을 할당해서 병렬적으로 처리하는 것으로 알고 있는데, Async대신 KafkaListener의 concurrency 설정을 200으로 하는 것이 맞을까요?

  • kafka
  • EDA
  • msa
  • devops
  • infrastructure
댓글 3 좋아요 0 조회수 194

인기 태그

인프런 TOP Writers

주간 인기글