묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨가장 쉽고 깊게 알려주는 Kafka 완벽 가이드 [ By. 비전공자 & Kakao 개발자 ]
일부 영상들에 스크립트가 누락되었어요 ㅠㅠ
강사님 안녕하세요!스크립트가 2분부터 약 10분간 누락되었네요 ㅠ이번 영상 말고도 다른 영상들에도 누락된게 있는 것 같아요.개인적으로 영상을 2번 시청하는데 두번째는 스크립트로 보면서 하는 편이라 인프런 측에 요청 부탁드려도 될까요?
-
미해결Kafka & Spark 활용한 Realtime Datalake
ec2 인스턴스 생성
100$ 지원해주는 free tier로 계정을 만들고 Support 플랜이 Basic으로 되어있습니다.인스턴스 유형을 선택할 때 기본적으로 t3.micro로 선택이 되어있고t2.micro를 사용하려면 무료 요금제에선 사용할 수 없고 계정 요금제 업그레이드를 하라고 하는데 요금제를 업그레이드 하고 따라가면 될까요?
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
카프카 이외의 메시지 큐 사용
완강하고 갑자기 생각난 질문입니다만, 이번 강의에서 카프카 아닌 rabbitmq 와 같은 다른 메시지 큐를 사용한다면 어떨까요? 어차피 거의 사용용도가 같다면 크게 달라지는 부분은 없을지 고견 부탁드립니다.
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
페이징 조건시 조회수 정렬 기능 질문
강사님 안녕하세요.게시판 조회시 페이징으로 처리할때 조회수를 오름차순, 내림차순 정렬하는 기능이 있다면 현재 강의 설계 기준으로 어떻게 구현할 수 있을까요? 제가 생각한 방법은 다음과 같습니다.사전 조건:view에서 조회수 데이터는 redis를 바라봄개수 백업 적용 / 단위는 10페이징 쿼리에서 RDB 백업 테이블의 조회수 기준으로 정렬코드 레벨에서 redis 데이터 기준으로 한번 더 정렬 문제는, 2번에서 한 페이지의 데이터만 정렬이 되기 대문에 페이지를 넘어갈때 정렬이 깨지는 현상이 발생합니다 ㅠ 데이터 전체를 메모리에 한번에 조회하지 않고 할 수 있는 방법이 있을까요?
-
미해결Kafka & Spark 활용한 Realtime Datalake
디스코드 초대장 재발급 부탁드립니다!!
안녕하세요디스코드 초대장이 만료되었다고 떠서 재발급 부탁드립니다!
-
미해결실전에서 바로 써먹는 Kafka 입문
msa 강좌 관련해서 질문 있어서 글 남깁니다!
안녕하세요!수업 정말 잘 듣고 있는 수강생입니다!!다름이 아니라 msa 강좌 일정 관련해서 언제쯤 나오는지 궁금해서 글 남깁니다! (어디에 질문 남길지 고민하다가 그냥 여기에 남겼어요..ㅠㅠ)
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
안녕하세요 API 테스트 하는 부분에서 질문 있습니다.
안녕하세요 !선생님 코드를 보면 댓글 서비스에서 댓글을 생성할때 request로 들어온 articleId 나 writerId에 대해서 실제로 데이터 베이스에 있는지 검증하는 부분이 없는데,이렇게 구현을 하면 확실히 테스트 코드를 짤때 실제 데이터 베이스에 저장된 게시글을 넣어주지 않아서 편한것 같습니다.혹시 실제 현업에서 코드를 짤때도 request 로 넘어온 데이터를 따로 검증을 하지 않아도 되는 건가요? @Transactional public CommentResponse create(CommentCreateRequest request) { Comment parent = findParent(request); Comment comment = commentRepository.save( Comment.create( snowflake.nextId(), request.getContent(), parent == null ? null : parent.getCommentId(), request.getArticleId(), request.getWriterId() ) ); return CommentResponse.from(comment); }
-
해결됨[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
KTable 키가 없는 레코드 처리
안녕하세요 KTable은 키가 없는 레코드에 대해서 무시하는 것이 맞을까요?
-
미해결카프카 완벽 가이드 - 커넥트(Connect) 편
재 질문! 다른 connector가 동일 토픽 사용
답변 감사합니다.답변을 보다 보니 또 새로운 질문이 생겨서 다시 문의 드립니다.debezium connector를 새로 만들어서 빈로그를 처음부터 다시 읽어 진행한다고 하면토픽을 같은거를 써도 되나요?예를 들어 a connector 만들면서 a topic 진행했는데a connector new 로 만들면서 기존에 있던 a topic에 넣어 라고 해도 에러가 안 나는지 궁금합니다. (이렇게 하는 이유는 굳이 jdbc connector를 새로 만들고 싶지 않아서 입니다) 그리고 실제 해보고 있는데 생각보니까 선생님께서는 offset을 리셋하고 커넥터를 재기동하고 데이터를 다시 해당 디렉토리에 넣은 거로 확인됩니다. 이와 연관되어 mysql debezium의 경우 binlog의 특정 포지션으로 지정했는데 해당 포지션 이후부터 다시 토픽에 넣는 게 아니라 새로 들어오는 로그에 대해서만 토픽에 넣는 것으로 확인됩니다. 기존에 있던 로그 내용에 대해서는 따로 진행을 안 하는 거 같아서 왜 그럴까요? 커넥터 snapshot.mode 옵션은 no_data 나 initial 모드나 상관없이 offset reset이 가능한 걸까요?
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
인증 관련 질문
학습 관련 질문을 최대한 상세히 남겨주세요!고민 과정도 같이 나열해주셔도 좋습니다.먼저 유사한 질문이 있었는지 검색해보세요.인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 좋은 강의 잘 보고있습니다.이와 같이 마이크로 서비스로 프로젝트가 구성되면, 유저 인증과 관련된 부분은 어떻게 처리되는지 궁금합니다. 일단 스스로 생각해본 바로는, 게시글/댓글 쓰기, 좋아요 API는 로그인 한 유저만 가능하다고 하면, 각각의 서비스에서 클라이언트의 요청을 받았을 때 해당 요청을 유저 API를 호출하여 인증을 하는 방식이 있을 것 같은데 이 방법은 각 서비스들이 유저 서비스를 알고 있어야 한다는 단점이 있을 것 같습니다..위와 같은 상황에서의 실무에서 모범 사례나 정형화된 방법이 있을까요?
-
해결됨[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
컨슈머 테스트 코드 작성
안녕하세요실무에서 Kafka 컨슈머 애플리케이션을 구현할 때 폴링을 위해 while (true) 루프를 사용하나요? 그렇다고 한다면 실제 서비스 운영에 적합할 수 있지만, 테스트 측면에서는 다소 까다롭게 느껴집니다. 실제 현업에서 무한히 폴링하는 컨슈머를 어떻게 구현하고, 또 어떤 방식으로 테스트하는지 궁금합니다. 혹시 일반적으로 사용하는 테스트 전략이나 구조적인 팁이 있다면 공유해주실 수 있을까요?
-
해결됨은행 서버 프로젝트 실습을 통해 배우는 코틀린 마스터 클래스
TransactionMessage 질문
안녕하세요.TransactionMessage 부분에서time을 기본값 LocalDateTime.now()로 설정하실 때 val -> var로 변경하시는 것을 봤습니다.실무에서 코틀린에서 기본값을 선언할때 관례적으로 var로 하는지 궁금합니다.(코틀린으로 서버를 개발해본적이 없어서 기초적인 질문 드려서 죄송합니다..)감사합니다.
-
해결됨은행 서버 프로젝트 실습을 통해 배우는 코틀린 마스터 클래스
CompletableFuture 질문
안녕하세요.KafkaProducer future.whenComplete에서throw 하는 코드를 보고 질문 드립니다.코드를 보니까 CompletableFuture로 구현되어 있던데transactional.run 안에서 예외를 잡을 수가 있는지 궁금합니다.코드만 보기로는 whenComplete가 비동기로 동작해서 저기서 예외를 던진다고 누가 받는지 잘 모르겠습니다.제가 스프링 비동기를 구현해보지 않아서 질문드립니다.감사합니다.
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
자바 버전에 관하여
자바 21버전이 아닌 17버전을 사용해도 괜찮나요?
-
해결됨은행 서버 프로젝트 실습을 통해 배우는 코틀린 마스터 클래스
스프링 빈 질문
안녕하세요.궁금한 점이 있어 질문드립니다.코드를 보면 @Component private class Advice: Runner ...이렇게 내부 클래스가 Private으로 되어 있는데 private으로 선언된 클래스도 component scan 대상이 되나요? 만약 1번에서 안된다면 인자로 받은 Runner가 프록시 빈으로 생성이 안될 것 같은데, 그렇다면 프록시가 제대로 동작하는게 맞는지 궁금합니다. private val advice : Runner = Advice()코드를 보면 만약 빈으로 생성된 인자를 넣지 않는다면 기본 Advice() 를 생성해서 넣는다고 보이는데 이렇게 된다면 Advice 프록시가 자동으로 생성되지 않는다고 생각되고 그렇다면 aop가 작동되지 않을것 같은데 맞는지 궁금합니다.(그래서 기본값을 넣지 않는게 맞지 않나 궁금합니다.) 감사합니다.
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
read Service 캐시방식 질문
학습 관련 질문을 최대한 상세히 남겨주세요!고민 과정도 같이 나열해주셔도 좋습니다.먼저 유사한 질문이 있었는지 검색해보세요.안녕하세요? 강의 계속 잘 듣고 잇습니다. 이제거의 막바지에 이르렀네요 ㅎㅎ..게시글 목록조회 최적화와 관련하여 질문드리고자 합니다.제가 처음에 이해한 바는 최신의 천개의 데이터를 레디스에 적재하고, 그 외의 데이터는 직접 articleServcie를 통해 가져오자 라고 이해를 했었습니다.(hot, cold Data)그런데 이후의 결과적으로는 아래 두가지 캐시가 존재하게 되었더라구요1.zset을 활용한 인기글 데이터 관리(목록 조회 최적화)2.실제 데이터 queryModel(단건 조회 최적화)이런 구조에서는 zset에서 천개의 데이터를 관리하긴 하지만 실제로 queryModel에는 데이터가 있을지 없을지 확신을 할 수 없는 상황이라는 생각이 듭니다. 즉 실제로 zset에 있는 데이터라 해도 하루가 지났다면 queryModel이 있을지 없을지 모르는 상황이라고 인지했습니다.질문1) 제가 이해한바가 맞을까요? 맞다면 이 구조를 선택하신 이유가 조금 궁급합니다.두 캐시를 합쳐서, queryModel자체를 하나의 캐시에서 천개의 데이터만 관리하면 되지않나? 라는 의문이 생겨가지구요어차피 천개의 데이터만 관리한다면 메모리를 그렇게 크게 차지 하지 않을 것 같기도 하구요질문2) 지금과 같은 구조에서는 zset을 활용한 article_id가 그렇게 큰 의미가 있는 부분인가? 라는 생각이 듭니다.- 어차피 최신순(1000개이하)의 데이터에 대해서 id를 추출하는거면 DB에서 offset을 세어도 그렇게 안느린 거 아닌가? 하는 생각이 들구요- zset에 포함되어 있더라도, 실제 데이터(QueryModel)가 있는지 없는지 확답을 할 수 없는 상황이니 큰 의미가 있는건가? 하는 의문이듭니다. 차라리 최신 천개의 데이터에 대해서는 조회에 필요한 모든 데이터를 캐싱해둔다면 큰 의미가 있을거라고 생각이 드는데, 지금의 경우에 대해서는 잘 모르겠네요 ㅠㅠ-결론적으로, 현재 회사에서 RDB를 주로 쓰고 있는 주니어 개발자 입장에서 관련해서 레디스를 도입해본다면.. 아키텍처 복잡도가 올라가는 부분에 비해 엄청 크게 이득이 되는 부분이 있나?? 라는 생각이 많이 들었습니다.질문3)추가로, 이거는 좀 다른 부분이긴 한데 read-service에서 like, unlike등 업데이트 이벤트 핸들러의 경우 동시요청에 대해서 lostupdate처럼 동작하는 부분이 있을 것 같은데 이부분은 배제하신건지, 혹은 제가 잘못생각하고 있는건지 궁금합니다.양질의 강의 정말 감사드립니다
-
미해결카프카 완벽 가이드 - 커넥트(Connect) 편
메시지 발행이 안 됩니다.
kafka-console-producer는 여전히 잘 동작합니다. 그런데 kafka-avro-console-producer로 메시지를 발행하면, 아무런 에러메시지 없어, 그냥 메시지 발행이 안 됩니다. schema-registry에는 잘 반영이 되는데, 토픽도 안 생기고, 미리 토픽을 만들어 발행해도 아무 반응이 없습니다. kafka-avro-console-producer와 kafka-broker간의 문제인 것 같은데,, 가령 kafka-console-producer, kafka-console-consumer, kafka-avro-console-consumer는 에러가 나든 안 나든 broker랑 상호작용을 하는데, 유독 kafka-avro-console-producer만 문제네요.. 혹시 이런 케이스를 겪어보셨을까요?
-
미해결실전에서 바로 써먹는 Kafka 입문
Kafka concurrency
안녕하세요, Consumer 서버가 2대라고 가정해보겠습니다.@KafkaListener의 concurrency 값을 설정을 2으로 설정하였다고 가정한다면, 2개의 스레드가 생성이돼서 병렬적으로 파티션을 처리할텐데위의 설정 없이 그냥 @KafkaListener가 붙은 메서드에 @Async를 통해서 ThreadPool의 크기를 2으로 설정하였다면, 동일하게 동작하게 되는걸까요?스프링 MVC의 경우 톰캣 기본 설정이 200 정도의 스레드풀을 할당해서 병렬적으로 처리하는 것으로 알고 있는데, Async대신 KafkaListener의 concurrency 설정을 200으로 하는 것이 맞을까요?
-
미해결실전에서 바로 써먹는 Kafka 입문
Kafka timeout 설정
안녕하세요.보통 RestTemplate, WebClient, FeignClient 등으로 외부 요청 등을 시도할 경우에는 timeout 설정을 중요하게 생각하는데, 카프카에서는 Connection Timeout, Read Timeout 등과 같은 셋팅 값을 몇 초로 설정해야할까요? 그리고 몇 초에 해당하는 값을 정하는 기준이 어떻게 될까요?
-
미해결실습으로 배우는 선착순 이벤트 시스템
안되서 스트레스 받아요
다 따라 했는데 안되니깐 스트레스 받네요