묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전에서 바로 써먹는 Kafka 입문
concurrency 설정 + 같은 groupId 내에 consumer 여러개
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 입문
concurrency 동작 안됨
하나의 consumer 에서 concurrency 옵션을 통해 멀티 쓰레드로 동작이 되는지 테스트를 해봤는데 강좌화면에서처럼 consumer 가 멀티스레드로 동작하지 않는것 같습니다. partition : 3개concurrency : 3partitional.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
-
해결됨실무에서 꼭 필요한 서버 모니터링(Zabbix)
강의 소리가 너무 작아요.
강의 목소리가 너무 작아서 집중을 할 수가 없네요.무슨 말을 하는지 하나도 모르겠어요.
-
미해결대규모 트래픽 처리를 위한 부하테스트 입문/실전
부하 테스트 환경 구성에 대한 질문
부하 테스트를 스테이징 환경에서 진행하려고 합니다. 이때 정확하고 신뢰도 높은 결과를 얻기 위해서는 EC2, DB 스펙 등의 인프라와 데이터 규모까지 운영 환경과 완전히 동일한 조건에서 테스트해야만 하는지 궁금합니다. 만약 현실적인 비용 문제로 환경을 100% 동일하게 구성하기 어렵다면, 어느 수준까지 환경을 맞춰야 유의미한 데이터를 얻을 수 있을지 질문드립니다.
-
해결됨비전공자도 이해할 수 있는 쿠버네티스 입문/실전
Deployment-service 연결 과정에서 오류..?
윈11에 docker desktop과 wsl 을 연동하여 쓰고 있습니다. 리눅스 명령어가 더 익숙해서.. 수업 내용대로 다 잘 따라했습니다. deployment, service, pod 모두 정상적으로 작동이 됩니다. 하지만 localhost:30000으로 접속시 연결 거부가 뜨고, kubectl port-forward service/spring-service 30000:8080 으로 직접적으로 포트 포워딩을 해준 후에야 localhost:30000이 접속이 됩니다. 어떻게 해야 포트 포워딩 작업 없이 바로 서비스에 접근 가능할까요..? 뭘 설정해야 하는지 모르겠습니다
-
미해결강의 하나로 끝내는 백엔드 모든 지식!
백엔드 신입으로써 알아야할 보안에 대한 기본 수준이 궁금합니다
검색을 해보니 강의 내용 중 나오는sql인젝션xss, HttpOnlycsrf, SameSitehttps이 부분들은 보통 기본적으로 많이 선택해서 꼭 알아야 하고 연습해야 하는 것으로 생각됩니다그 외에도 알려주신 것들에 대해 자세히 알아야 할까요? 아니면 이런 방법들이 있구나 하고 굳이 직접 사용해볼 필요는 없는 걸까요
-
미해결대규모 트래픽 처리를 위한 부하테스트 입문/실전
부하 테스트에 대한 문의드립니다
안녕하세요 재성님. k6 공식문서에 보면 시나리오라는 개념이 있는데요. 현업에서 부하 테스트할때 로그인 이후에 처리되는 로직에 대한 부하 테스트를 진행한다면. 이때 vUser 수가 100명이라하면이때는 회원 테이블에 더미데이터를 만들어두고 진행할 까요? 아니면 로직에 대한 부하가 아니라면특정 페이지 접근에 대한 테스트로 진행될까요?(강좌에서는 시나리오보다는 특정 페이지에 대해서 한 느낌이였습니다) 현업에서는 K6 를 어떻게 다루시는지 문의드립니다 감사합니다.
-
미해결비전공자도 이해할 수 있는 AWS 중급/실전 (보안, 가용성편)
AWS 비용예측 질문
안녕하세요 재성님.덕분에 AWS 에 대해서 조금더 알게 되었습니다.감사합니다 AWS 로 인프라를 구성했을때비용을 어떻게 예측할 수 있을까요?청구서에서 보는거 말고 이정도 규모면 얼마정도의 비용이 발생할지 알 수 있는 방법이 있을까요? 감사합니다.
-
해결됨실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
60강 ProductDoument 코드 관련 질문 있습니다!
안녕하세요, 강사님!바쁘신 와중에 질문드려 죄송합니다...단순한 질문 같지만 ProductDocument 코드에 대해 궁금한 것이 있어 질문드립니다.Elasticsearch 관련 Document 코드에 @AllArgsConstructor나 @Data같은 롬복(lombok) 애노테이션을 사용해도 문제가 없을까요...?추가로 실제 실무에서 Document에 롬복을 사용하는지 강사님 코드대로 직접 생성자, getter & setter를 작성하는지 알고 싶습니다!
-
미해결강의 하나로 끝내는 백엔드 모든 지식!
22강 마지막 영상 짤림
큰 문제는 아닙니다만 22강이 마지막에 갑자기 종료되는 문제가 있습니다. 따로 어디에 말씀드려야 할지 모르겠어서 Q&A 게시판에 남깁니다.
-
미해결비전공자도 이해할 수 있는 리눅스 입문/실전
표준입출력
안녕하세요, 재성님.추석 기간 활용해서 좋은 강의 잘 듣고 있습니다!강의 중에 표준(입)출력을 다루는 섹션이 있는데, 제가 어렴풋이 알고 있는 내용과 살짝 차이가 있는 거 같아 질문 드립니다.강의에서 표준 (입)출력은 명령어의 출력 결과를 전달하는 '통로'라고 설명해주셨는데,저는 막연히 표준 입력은 키보드, 표준 출력은 모니터 정도로 알고 있었습니다.그래서 이 개념에 대해서 정확히 알고 싶은데, 혹시 표준 입출력을 OS에서 제공하는 입출력 담당 인터페이스라고 이해하면 좋을까요?관련 개념들이 혼재되어서 뭐라 한마디로 정리하기가 힘들어 질문 올립니다 ㅠㅠ 읽어주셔서 감사합니다!
-
해결됨실무에서 꼭 필요한 서버 모니터링(Zabbix)
enabled 설정후 진행이 안됩니다.
안녕하세요. enabled 설정시 1 입력후 esc를 눌러도 wq를 입력 할 수 없습니다. 어떻게 진행햐 할끼요??
-
해결됨실무에서 꼭 필요한 서버 모니터링(Zabbix)
epel 레포지스토리 활성화 오류
OS- 아마존 리눅스 2023 6.1epel 레포지토리 활성화 명령어 입력(amazon-linux-extras install epel -y) 하면command not found 라고 /뜹니다.어떻게 해야 할까요??
-
미해결실전에서 바로 써먹는 Kafka 입문
컨슈머 서버 점진적 배포 시나리오
컨슈머 서버가 3대 떠있을때 점진적 배포를 어떤식으로 진행하시나요? 기존 서버군을 죽이면 리밸런싱 되겠지만, 신규 배포에 문제가 생겼다고 판단될때 즉각적인 롤백이 안될것 같은데요. 어떤식으로 하시나요?
-
미해결비전공자도 이해할 수 있는 AWS 중급/실전 (보안, 가용성편)
최종 미션 아키텍처 적용 후에 CI/CD 문제 질문 드립니다
퍼블릭 서브넷: Bastion host (외부 접속용)프라이빗 서브넷: 실제 EC2 애플리케이션 서버목표: GitHub Actions + Docker를 사용해 프라이빗 EC2에 배포제가 찾은 방법은 첫번째로GitHub Actions에서 Bastion host로 먼저 SSH 접속 Bastion에서 프라이빗 EC2로 SSH 중계내부 EC2에서 Docker pull & deploy방식인데요 이 방식으로 하려면 bastion host 보안 그룹 인바운드 규칙을 모든 IP 허용을 해야해서 이게 맞나 싶습니다.그리고 다른 방법은 github self-hosted runner를 쓰는 건데요. 아직 잘 모르는 영역이라 해보기 전에 질문 올립니다.제가 말한 방법 이외에 또 다른 방법이 있는지 궁금하기도 해서 도와주시면 감사하겟습니다
-
미해결실전에서 바로 써먹는 Kafka 입문
Connection -1
이 에러가 자꾸 뜨는데 어떻게 해결해야 할지 감이 안 잡혀 질문 들빈다.서버를 다시 키고 해도 똑같은 에러가 계속 발생합니다.
-
미해결실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
analyser를 인덱스 삭제후에 설정하던데 인덱스 생성후에도 analyser 수정이 가능한가요?
analyser를 인덱스 삭제후에 설정하던데 인덱스 생성후에도 analyser 수정이 가능한가요?
-
해결됨실무에서 꼭 필요한 서버 모니터링(Zabbix)
t2.micro 무료 요금제에서는 사용이 불가합니다.
t2.micro 무료 요금제에서는 사용이 불가합니다.대체할 수 있는게 있을까요??
-
미해결비전공자도 이해할 수 있는 AWS 중급/실전 (보안, 가용성편)
29 프라이빗 서브넷 접속시 오류문제
터미널에서 ssh 접속이 안되요.bash에서 접속해도 타임아웃이 됩니다.브라우저 연결시는 연결이 됩니다. 안되는 이유는 무엇이고, 차선으로 할수 있는 방법이 있는지 궁금합니다.
-
미해결비전공자도 이해할 수 있는 CI/CD 입문·실전
code deploy 배포입니다.
배포까지 잘 끝났고, s3파일 업로드로 잘됬습니다.여기도 문제없는것같고요...그런데...java구동이 안되는것 같습니다.. 이유가 뭘까요??