묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실습으로 배우는 선착순 이벤트 시스템
쿠폰에 관련되어서 좀 더 참고할만한 자료가 있을까요?
쿠폰에 관련되어서 좀 더 참고할만한 자료가 있을까요?
-
미해결[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
충분히 큰 파티션 생성시 궁금증이 존재합니다.
메시지 키가 있을 경우 전달되는 파티션이 변경되는 것을 방지하기 위해 충분히 큰 파티션으로 생성을 해야한다. 해당 부분에 대해 궁금한 점이 생겨 질문올립니다. 여기서의 충분히 큰 파티션은 어떻게 산정을 하면 좋을까요? Spring Application으로 Consumer를 구현한다고 했을 때, 충분히 큰 파티션 생성 시 Consumer : Kafka Topic = 1 : N구조로 구독을 하는 방향으로 만들면 되는 건 지 궁금합니다.
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
댓글 내용 조회 시 어떤 방식을 선택하실까요?
게시글 조회 기능을 확장하려고 할 때 댓글을 조회하는 방향에 대해 고민이 있어서 질문 남깁니다.게시글 하나를 보는 페이지로 사용자가 이동해서, 게시글의 내용과 댓글들까지 이동한 페이지에서 그려야 할 때 게시글 정보와 해당 게시글의 모든 댓글을 가져오는 기능을 신규로 추가하려고 합니다. 해당 기능의 구현에 대해 2 가지 방향을 고민해봤습니다.게시글처럼 댓글까지 캐싱하는 방법Hot data 로 캐싱된 게시글들의 댓글들을 캐싱하는 것을 고민했을 때, 댓글은 게시글보다 훨씬 많은 양이기 때문에 캐싱에 대한 비용이 너무 커지는 것에 부담이 생기는 문제가 있다고 생각합니다.댓글에 대한 조회는 매번 댓글 서비스에서 조회하는 방법실시간으로 게시물의 댓글을 계속 조회한다면, 조회 서비스에 읽기 부하가 크게 걸릴 것으로 생각합니다. 두 방식 다 장단점이 있다고 생각하는데, 강사님께선 어떤 방식으로 게시글 + 댓글 조회 기능을 구현하실지 의견이 궁금합니다!
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
강의 전에 학습할 내용
해당 강의를 수강하기 전에 사전 학습으로 준비하면 좋은 내용들(MySQL, Redis, Kafka, 시스템 설계 등)에 대해 추천해주실 만한 책이나 강의가 있을까요?저에게는 이 강의가 다소 어렵게 느껴져서, 관련 내용을 따로 공부한 후 다시 수강하고 싶습니다.혹시 강의 내용과 연관되어 쿠케님께서 좋다고 느끼셨던 자료나 도움이 되었던 책, 강의 등이 있다면 공유 부탁드립니다!
-
미해결대용랑 채팅 TPS에 대한 stateful 서비스 구축하기
response 함수에 대해
이전 강의를 듣지않고 수강하고 있습니다.이전 강의에 대한 정보가 없어서 간혹 영상에 보이는대로 따라서 메우고 있는데, response 함수에 대한 정보는 아직 화면에 나온 적이 없는거 같아서요. 어차피 JSON으로 응답이 오는거 같아서 c.JSON 을 통해 처리했습니다.아직 완강하기 전이라 후반부에 나오는지는 잘 모르겠지만 뼈대가 되는 코드에 대한 정보가 조금 더 있었으면 좋겠습니다. 강의 잘 듣고 있습니다. 감사합니다.
-
미해결Kafka & Spark 활용한 Realtime Datalake
git action - code deploy단계
github에는 actions탭에 정상적으로 워크플로우가 런 됩니다. 하지만 code-deploy 탭으로 이동해 확인하면 배포상태가 번번히 실패로 뜹니다. 강의안대로 잘 따라갔습니다. 원인을 찾아보려했지만 찾아지지 않아 글 남깁니다. 감사합니다.
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
Transactional Outbox 테이블 관련하여 질문드립니다
안녕하세요, 강의를 통해 대규모 시스템 설계에 대한 다양하고 실무적인 방법을 배우게 되어 감사히 수강하고 있습니다!수강중 Transactional Outbox 테이블 관련하여 궁금한 부분이 있어 질문드립니다.실무에서는 보통 "Outbox 테이블에 Insert -> kafka send 후 Outbox 상태 Update" 하는 방식으로 쓰일까요? 강의에서는 간단히 Delete로 구현한다고 말씀주셔서 질문드려봅니다!Update 하는 방식도 자주 쓰인다면 Outbox 테이블은 파티셔닝(p20251001 와 같이)하여 관리하고 주기적으로 삭제하는 방식일지도 궁금하여 질문드립니다!
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
카프카 메시지 순서 관련 문의
안녕하세요 강사님!카프카를 사용하면서 궁금한 점이 있어서요~ 예를 들어 주문 시스템을 구현한다고 하면요.주문에 대해 상태가 계속 바뀌어 해당 이벤트를 받을 수 있도록 카프카를 붙이려고해요.consumer가 동일한 주문 id에 대해 상태 업데이트를 해야 하니, producer가 순서 보장되도록 카프카 key도 동일하게 셋팅하면 consumer는 순서대로 status를 제대로 update 하는데요. 만약 producer가 메시지 발행을 비동기적으로 진행하도록 구현했다고 하면,무언가 이슈로 주문 생성 -> 주문 취소 순이 아닌 주문 취소 -> 주문 생성 순으로 발행되었다면consumer 입장에서 메시지 순서가 제대로 들어왔음을 어떻게 인지할 수 있을까요..? 이런 상황은 발생하지 않을까요..? ㅎㅎ
-
미해결카프카 완벽 가이드 - 코어편
카프카 학습과 관련하여 질문 드립니다
최근 카프카 버전에저는 zookeeper 가 아닌 KRaft 를 사용하는 것으로 바뀌는 등 몇가지 차이점이 있는데 강의 내용으로 학습한 후 변화된 버전에 맞춰서 변경할 때 러닝커브가 어느 정도가 될지 궁금합니다
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
카프카 학습에 관한 질문
강사님 안녕하세요, 강의 잘 듣고 있습니다.카프카의 성능과 안정성을 확보하기 위한 다양한 기법과 설정에 대해서 강의에서는 해당 부분이 깊이 다루어지지 않아, 이후에는 수강생이 스스로 학습해야 한다고 하셨는데요.현재 현업에서는 카프카를 직접 사용하지 않고 있어 개인적으로 학습이 필요한 상황입니다.추천하실 만한 도서나 강의, 혹은 효과적인 학습 방법이 있을지 궁금합니다.
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
완강 후 학습 방향에 대한 질문
쿠케님 안녕하세요!우선 좋은 강의 제작해주셔서 정말 감사합니다. 강의 들으면서 대규모 시스템을 설계할 때는 어느 것을 신경써야 하고, 또 주의해야 하는지 많은 인사이트를 얻고 있어요. 추석 연휴 동안 제 나름대로 열심히 들어서 이제 한 개 섹션만 남았는데, 완강을 한 뒤에 강의에서 얻은 것들을 토대로 대규모 트래픽을 가정한 서비스를 설계하고, 개발해보려고 합니다. 강의로만 듣고 넘기기에는 아까운 내용들이 많아서 확실하게 제 것으로 만들어야겠다 싶더라고요. 일하면서 써먹으면 더없이 좋겠지만 아쉽게도 그럴 환경은 안 되어서요.. ㅎㅎ 그래서 나름대로 구상을 해보면서 강의를 듣고 있는데, 문득 강의에서 다룬 아키텍처와 기술을 한 번에 다 도입하는 건 오히려 학습 효율을 떨어뜨리는 선택이 아닐까 싶은 생각이 들어서요. 실무에서 Redis 정도는 사용해봤지만, 분산 데이터베이스나 MSA도, Kafka나 CQRS도 이 강의에서 처음 사용해봤습니다. 개념은 대충 주워 듣긴 했지만, 제대로 공부해본 적도 없고요. 결론적으로 하나씩 해보는 게 낫겠다 싶은데, 강의에서 다룬 내용 중 어느 것을 먼저 학습하는 게 좋을지 쿠케님께 조언을 구하고 싶어요. 물론 정답이 없는 문제지만, 지금 당장 제가 일하는 환경에서는 써먹을 일이 별로 없는 내용들이다 보니 무엇을 먼저 하는 게 좋을지 선택하기가 어렵네요. 감사합니다.
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
Kafka 대신 Redis Pub/Sub을 사용할 수도 있을까요?
안녕하세요, 강사님!Kafka 관련 강의를 듣다가 기술 선택의 기준에 대해 궁금한 점이 생겨 질문드립니다. 현재 강의에서 Kafka를 이벤트 브로커(Event Broker)로 사용하고 계신데,Redis의 Pub/Sub 또는 Redis Streams 기능을 이용하면비슷한 형태로 서비스 간 메시지 전달을 구현할 수도 있을 것 같다는 생각이 들었습니다. 그래서 아래 두 가지 부분이 궁금합니다 Kafka를 선택하신 이유 또는 기준이 무엇인지 예: 처리량, 확장성, 영속성, 장애 복구 등 기술적 관점에서 어떤 요소가 결정적이었는지혹은 실제 서비스 환경에서 Redis 기반 메시징을 사용했을 때의 한계가 있었는지도 궁금합니다. 이벤트 브로커(Event Broker)와 메시지 브로커(Message Broker)의 개념적 차이 두 용어가 거의 비슷하게 사용되는 경우도 많은데,Kafka가 ‘이벤트 브로커’로 분류되는 이유가 무엇인지 알고 싶습니다.실제로 시스템 설계 시, 어떤 기준으로 두 개념을 구분하고 선택하시는지도 궁금합니다. 제가 이해하기로는 Redis는 단순한 메시지 전달 중심,Kafka는 이벤트 스트리밍 및 데이터 파이프라인 중심으로 알고 있는데,이 부분이 맞는 방향인지도 확인해보고 싶습니다.
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
최적화 순서
학습 관련 질문을 최대한 상세히 남겨주세요!고민 과정도 같이 나열해주셔도 좋습니다.먼저 유사한 질문이 있었는지 검색해보세요.인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.강사님, 최적화를 진행할 때 보통 어떤 순서로 고민하시나요?예를 들어 트래픽이 몰릴 때 먼저 어디를 확인하고, 어떤 기준으로 개선 방향을 정하시는지가 궁금합니다.
-
미해결카프카 완벽 가이드 - 코어편
파티션 증가시 비용 증가 고려
성능에 비해 용량 증가가 저렴하기때문에 파티션 증가가 극단적이지만 않다면 항상 유리할까요?파티션을 증가시키면 토픽을 재성성하지 않으면 다시 줄일수 없는 것으로 이해했습니다.그런데 실무에서 성능과 비용 문제 트레이드오프를 고려해야할지 궁금합니다.
-
미해결카프카 완벽 가이드 - 코어편
Kafka 초기 Partition 개수 설정 관련 질문
좋은 강의를 제공해주셔서 감사합니다.Kafka를 처음 설정할 때 Partition 개수를 1개로 두고 추후 확장하는 방식이 일반적인가요?아니면 초기에 적절한 Partition 개수를 여유롭게 미리 설정하는 것이 좋을까요?또한, 이러한 설정은 멀티 노드 Kafka 클러스터 구성 여부에 따라 달라질 수 있는지도 궁금합니다.
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
무한 뎁스 댓글 테스트 데이터 삽입 질문
학습 관련 질문을 최대한 상세히 남겨주세요!고민 과정도 같이 나열해주셔도 좋습니다.먼저 유사한 질문이 있었는지 검색해보세요.인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요.2뎁스 댓글 목록의 테스트 데이터 삽입 시에는 계층 구조까지 파악할 수 있게끔 작성이 되었는데무한 뎁스 댓글의 테스트 데이터 삽입은 계층 구조로 생성하지 않으신 이유가 궁금합니다!
-
해결됨비전공자도 이해할 수 있는 MSA 입문/실전 (feat. Spring Boot)
카프카에서 발행한 이벤트를 처리중에 실패한 경우 보통 어떻게 처리하는지 궁금합니다
안녕하세요 강사님 카프카에서 컨슈머가 메시지를 읽은 후 처리 과정에서 실패했을 때 재처리 전략을 어떻게 잡으면 좋은지 궁금합니다.consume 이후 비즈니스 로직 실행중에 예외가 발생하여 실패한 경우OOM 등의 이유로 서버가 비정상적으로 종료되어 실패한 경우위의 두가지 상황에서 일반적으로 어떻게 처리하는지 궁금합니다.
-
해결됨은행 서버 프로젝트 실습을 통해 배우는 코틀린 마스터 클래스
Kotlin data class 엔티티에서 copy로 수정 후 save하는 이유가 있을까요?
data class로 엔티티를 정의해서 copy로 변경 후 save하는 방식을 사용하셨는데, 일반적으로는 JPA의 더티 체킹을 이용해 변경 감지를 활용하는 경우가 많습니다.혹시 copy 방식을 사용하신 게 의도하신 설계 방향일까요?
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
게시글 정보와 게시글 조회수 동시에 필요한 API 조회 질문
현재처럼 서비스 구조가 거의 테이블 단위로 DB와 API 서비스가 분리될 때,이런 구조에서 화면에서 리스트 형태로 두 도메인 데이터를 함께 조회해야 하는 경우가 있을 것 같습니다.예를 들자면 게시글과 게시글 조회 수를 함께 보여주는 리스트 API가 필요한 상황에서,단건 조회라면 프론트에서 별도로 API를 호출해도 괜찮을 것 같은데,페이징 처리나 리스트 형태로 여러 데이터를 묶어서 조회해야 할 때,실무에서는 보통한 서비스에서 다른 서비스를 RestClient(Feign 등) 로 호출해서 데이터를 합치는 방식으로 처리하는지,아니면, 같은 도메인 서비스로 묶어버린다던지아니면 프론트엔드에서 각각의 API를 호출한 뒤 병합하는 방식으로 처리하는지궁금합니다.실제 현업에서는 이런 경우 어떤 접근 방식을 주로 사용하나요?
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
실제 실무에서도 이런식으로 쿼리를 작성하는지 궁금합니다!
학습 관련 질문을 최대한 상세히 남겨주세요!고민 과정도 같이 나열해주셔도 좋습니다.먼저 유사한 질문이 있었는지 검색해보세요.인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요.향로님의 추석 챌리지에서 우연히 제목을 보고 바로 구매했는데 아직 완강하지는 못했지만 정말 좋은 강의 같습니다!선배 개발자님이 개발하시는 느낌으로 보고있습니다! ㅎㅎ궁금한 점은 혹시 실무에서도 이런식으로 서브쿼리를 이용해서 대규모 데이터에 대해서 처리를 하는지가 궁금해져서 질문 남겨봅니다!