inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

antigravity 에디터를 쓰신다면 종료해주세요

해결됨

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

해당 에디터 사용시, 크롬 브라우저 원격 지원을 위해 9092포트를 점유하고 있어 kafka가 사용하는 9092포트와 충돌이 발생합니다. 만약 이용중인라면 다른 IDE를 사용하시는게 좋을것 같습니다.

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
Troy 댓글 0 좋아요 1 조회수 160

수강 기간 연장 부탁드립니다ㅠ

미해결

15일간의 빅데이터 파일럿 프로젝트

안녕하세요! 강의 구매후 실력이 되지않아 엄두를 못내다가 수강기간 만료가 도래했어요ㅠㅠ 새로 맡은 프로젝트에 꼭 필요한 내용이라 공부를 시작해야하는데 며칠 남지를 않아 버렸네요. 강사님 죄송하지만 최대한 연장 부탁드려도 될까요? 열심히 공부하겠습니다!!

  • 빅데이터
  • hadoop
  • kafka
  • zookeeper
  • redis
  • flume
  • impala
  • 데이터-엔지니어링
outofmtx 댓글 2 좋아요 0 조회수 131

강의 자료 업데이트

미해결

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

섹션12부터는 아직 update가 안된거죠?

  • spring-boot
  • jpa
  • 아키텍처
  • spring-cloud
  • kafka
  • msa
  • rabbitmq
ABBCD 댓글 2 좋아요 0 조회수 152

부하분산 강의 섹션

미해결

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

Spring Cloud Gateway + Eureka 연동 강의에서 '부하분산'에 대한 내용은 바로 다음에 다룬다고 하는데 해당 강의가 섹션 4에는 안보여서요.. 더 뒤 섹션에 나오는걸까요?

  • spring-boot
  • jpa
  • 아키텍처
  • spring-cloud
  • kafka
  • msa
  • rabbitmq
최근호 댓글 1 좋아요 0 조회수 103

프로젝트 구조

해결됨

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

현재 강의에서 예시로 보여주신 프로젝트 구조가 현업에서도 주로 사용하는 구조일까요?? 현재 멀티모듈 구조가 아닌 별도 repository 구조에서 업무를 진행하고 있어서 궁금하네요. 현업에선 다른 구조를 사용한다면 예시도 말씀해주시면 감사할것 같습니다.

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
rmcns 댓글 2 좋아요 0 조회수 132

잘못된 이메일 주소로 인해 발송 실패 코드

미해결

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

POSTMAN에 to: fail@naver.com 으로 변경하여 send할 시 총 5번 재시도 후 강사님 처럼 멈추지 않고 아래 에러가 무한 반복이 됩니다. 2026-01-04T20:45:42.814+09:00 ERROR 20160 --- [ner#0.dlt-0-C-1] k.r.DeadLetterPublishingRecovererFactory : Record: topic = email.send.dlt, partition = 0, offset = 2, main topic = email.send threw an error at topic email.send.dlt and won't be retried. Sending to DLT with name email.send.dlt. org.springframework.kafka.listener.ListenerExecutionFailedException: Listener failed at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.decorateException(KafkaMessageListenerContainer.java:3011) ~[spring-kafka-4.0.1.jar:4.0.1] at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.doInvokeOnMessage(KafkaMessageListenerContainer.java:2911) ~[spring-kafka-4.0.1.jar:4.0.1] at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeOnMessage(KafkaMessageListenerContainer.java:2877) ~[spring-kafka-4.0.1.jar:4.0.1] at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.doInvokeRecordListener(KafkaMessageListenerContainer.java:2787) ~[spring-kafka-4.0.1.jar:4.0.1] at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.doInvokeWithRecords(KafkaMessageListenerContainer.java:2629) ~[spring-kafka-4.0.1.jar:4.0.1] at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeRecordListener(KafkaMessageListenerContainer.java:2523) ~[spring-kafka-4.0.1.jar:4.0.1] at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeListener(KafkaMessageListenerContainer.java:2161) ~[spring-kafka-4.0.1.jar:4.0.1] at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeIfHaveRecords(KafkaMessageListenerContainer.java:1538) ~[spring-kafka-4.0.1.jar:4.0.1] at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.pollAndInvoke(KafkaMessageListenerContainer.java:1476) ~[spring-kafka-4.0.1.jar:4.0.1] at org.springframework.kafka.listener.KafkaMessageListenerContainer$ ListenerConsumer.run (KafkaMessageListenerContainer.java:1345) ~[spring-kafka-4.0.1.jar:4.0.1] at java.base/java.util.concurrent.CompletableFuture$ AsyncRun.run (CompletableFuture.java:1804) ~[na:na] at java.base/ java.lang.Thread.run (Thread.java:1583) ~[na:na] Caused by: org.springframework.kafka.listener.TimestampedException: Exception thrown at 2026-01-04T11:45:42.814281400Z at org.springframework.kafka.listener.adapter.KafkaBackoffAwareMessageListenerAdapter.onMessage(KafkaBackoffAwareMessageListenerAdapter.java:100) ~[spring-kafka-4.0.1.jar:4.0.1] at org.springframework.kafka.listener.adapter.KafkaBackoffAwareMessageListenerAdapter.onMessage(KafkaBackoffAwareMessageListenerAdapter.java:49) ~[spring-kafka-4.0.1.jar:4.0.1] at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.doInvokeOnMessage(KafkaMessageListenerContainer.java:2898) ~[spring-kafka-4.0.1.jar:4.0.1] ... 10 common frames omitted Caused by: org.springframework.kafka.listener.ListenerExecutionFailedException: invokeHandler Failed at org.springframework.kafka.listener.adapter.MessagingMessageListenerAdapter.checkAckArg(MessagingMessageListenerAdapter.java:519) ~[spring-kafka-4.0.1.jar:4.0.1] at org.springframework.kafka.listener.adapter.MessagingMessageListenerAdapter.invokeHandler(MessagingMessageListenerAdapter.java:496) ~[spring-kafka-4.0.1.jar:4.0.1] at org.springframework.kafka.listener.adapter.MessagingMessageListenerAdapter.invoke(MessagingMessageListenerAdapter.java:425) ~[spring-kafka-4.0.1.jar:4.0.1] at org.springframework.kafka.listener.adapter.RecordMessagingMessageListenerAdapter.onMessage(RecordMessagingMessageListenerAdapter.java:92) ~[spring-kafka-4.0.1.jar:4.0.1] at org.springframework.kafka.listener.adapter.RecordMessagingMessageListenerAdapter.onMessage(RecordMessagingMessageListenerAdapter.java:52) ~[spring-kafka-4.0.1.jar:4.0.1] at org.springframework.kafka.listener.adapter.KafkaBackoffAwareMessageListenerAdapter.invokeDelegateOnMessage(KafkaBackoffAwareMessageListenerAdapter.java:106) ~[spring-kafka-4.0.1.jar:4.0.1] at org.springframework.kafka.listener.adapter.KafkaBackoffAwareMessageListenerAdapter.onMessage(KafkaBackoffAwareMessageListenerAdapter.java:97) ~[spring-kafka-4.0.1.jar:4.0.1] ... 12 common frames omitted Caused by: java.lang.IllegalStateException: No Acknowledgment available as an argument, the listener container must have a MANUAL AckMode to populate the Acknowledgment. ... 19 common frames omitted 위

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

강의자료는 어디에서?

미해결

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

강의자료 pdf는 어디에서 볼 수 있을까요???

  • spring-boot
  • jpa
  • 아키텍처
  • spring-cloud
  • kafka
  • msa
  • rabbitmq
최근호 댓글 2 좋아요 0 조회수 140

FK 현업에서 실제 사용안하시나요

해결됨

커머스 서비스로 배우는 NestJS 실전 개발 (w. Prisma, Docker, Redis, Kafka)

현업에서 실제로 개발하실때도 FK 를 넣지 않으시나요? 데이터 정합성과 ORM 이용의 편리함 등을 위해 FK 를 맺는게 맞지 않나해서 여쭤보게 되었습니다.

  • docker
  • kafka
  • redis
  • nestjs
  • prisma
연습생 댓글 1 좋아요 0 조회수 153

ApplyService와 Consumer서비스의 db공유?

미해결

실습으로 배우는 선착순 이벤트 시스템

안녕하세요 강의 잘 듣고 있습니다. ApplyService와 Consumer서비스의 db관련 질문을 하려 합니다. 9:30분쯤부터 ApplyService와 컨슈머서비스를 분리해서 테스트를 진행하는데 AppliServiceTest를 보면 자신의 CouponRepository에서 count개수가 100개인지 체크하는것 같습니다. 저는 쿠폰생성 및 저장 로직을 전부 컨슈머서비스로 옮겨서 여기서 쿠폰테이블을 관리한다고 생각했는데 어떻게 ApplyService가 자신이 이전에 사용하던 CouponRepository에서 count 체크가 가능한건지 궁금합니다. 혹시 두 서비스가 하나의 db를 공유하는건가요?

  • java
  • docker
  • spring-boot
  • kafka
  • redis
차성호 댓글 2 좋아요 0 조회수 127

카프카 토픽 Key 타입 변경에 관한 질문

미해결

카프카 완벽 가이드 - 코어편

안녕하세요~ 카프카 실습 중 Key 를 String → Integer 로 변경할경우, console consumer 에서도 key deserializer 를 IntegerDeserializer 로 변경해야하면서 든 궁금증 질문드립니다 kafka consumer key deserializer 를 custom 설정하고 offset 을 --from-beginning 을 하면 오류가 발생하는데, 아마 Key Type 이 String, Integer 가 있어서 Deserialize 를 하다가 Exception 이 나는 것 같은데, deserializer 를 직접 설정안해주면 오류는 안나더라구용. (기본적으로 String key 만 보여주는 것 같은..) 그래서 config 를 찾아보니까 console consumer 는 기본적으로 String Deserializer 로 설정해주는 것인가요? 명령어 : kafka-console-consumer --bootstrap-server localhost:9092 --topic comp-topic --property print.partition=true --property print.key=true --property print.value=true --property print.timestamp=true --from-beginning Key 타입을 변경하는 일이 실무에서 흔한 편인가요? Key 라는 것이 보통 식별/고정인데 변경이 필요하면 Topic 을 새로 만들어서 진행는건지 궁금합니다

  • kafka
  • 데이터-엔지니어링
kokoxg2 댓글 2 좋아요 0 조회수 136

/homework/ch10_3/dataframe_cache.py 과제 질문

미해결

Kafka & Spark 활용한 Realtime Datalake

안녕하세요. 과제 도중 질문이 있어 질문 남깁니다. 우선 아래에 제가 작성한 코드 남기겠습니다! from pyspark.sql import SparkSession from pyspark.sql.functions import col import time spark = SparkSession.builder.appName("dataframe_cache").getOrCreate() # 회사별 산업도메인 CSV READ com_ind_path = 'hdfs://home/spark/sample/linkedin_jobs/company_industries.csv' com_ind_schema= 'company_id STRING, industry STRING' ind_df = spark.read.option("header", "true").option("multiline", "true").schema(com_ind_schema).csv(com_ind_path) # 회사별 종업원 수 CSV READ com_count_path = 'hdfs://home/spark/sample/linkedin_jobs/employee_counts.csv' com_count_schema = 'company_id STRING, employee_count INT, follower_count INT, time_recorded INT' count_df = spark.read.option("header", "true").option("multiline", "true").schema(com_count_schema).csv(com_count_path) # company_id 컬럼으로 중복 제거 후 진행 # drop_duplicate : transform 함수 company_count_df = count_df.dropDuplicates(['company_id']) # 캐시 저장 ind_df.persist() company_count_df.persist() # count : action 함수 print(ind_df.count()) print(company_count_df.count()) # filter : transform 함수 # it_df : 산업도메인이 IT Service and IT Consulting인 회사 # big_df : 직원 수가 1000명 이상인 회사 it_df = ind_df.filter(col('industry') == 'IT Services and IT Consulting') big_df = company_count_df.filter(col('employee_count') >= 1000) # join : transform 함수 it_big_df = it_df.join(big_df,'company_id','inner') # 결과 출력 it_big_df.select(['company_id','employee_count']).sort('employee_count',ascending=False).show() # 5분 대기 time.sleep(300) 저는 join 작업시 중복을 제거한 직원수 dataframe이 사용되기 때문에 dropDuplicates() 메서드를 적용한 뒤 persist()를 하여 캐시에 저장하였습니다. 그런데 강사님의 깃허브 코드를 확인하니, 중복을 제거한 dataframe에 persist()를 적용하지 않아서 제가 잘못 생각하고 있는 부분이 있는지 궁금합니다.

  • kafka
  • apache-spark
  • pyspark
  • data-lake
  • 카카오공채-개발
지구본 댓글 2 좋아요 0 조회수 119

article_like_count api test

해결됨

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

동시성 이슈가 안터질 수도 있나요?

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
댓글 2 좋아요 0 조회수 120

이벤트 페이로드 객체의 생성 방식이 팩토리 메서드 패턴이 아닌 빌더 패턴인 이유가 궁금합니다!.

해결됨

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

안녕하세요, 강사님 덕분에 많은 인사이트를 얻으며 성장중인 수강생입니다ㅎㅎ 다름이 아니라 이벤트 페이로드 타입의 생성 방식이 팩토리 메서드 패턴이 아닌 빌더 패턴인 이유가 궁금합니다! 빌더 패턴의 장점은 생성자 오버로딩이 많을 때, 간편하게 사용할 수 있다는 장점이 있지만 필수인 필드에 null 이 들어갈 수 있다는 단점이 있다고 생각합니다. 그래서, 저는 빌더 패턴을 해당 객체의 필드 중 null 이 들어갈 수 있는 필드가 많을 때 사용하는 걸 선호하다 보니, 이벤트 페이로드 타입을 생성 할 때 일부 필드에 null 이 들어가는 걸까? 란 궁금증으로 질문이 생기게 되었습니다. 빌더 패턴에 대한 강사님의 의견이 궁금하며 이벤트에 기존에 사용하신 팩토리 메서드 대신 빌더 패턴을 사용하신 계기가 궁금합니다! 감사합니다 :)

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
종혁 댓글 2 좋아요 0 조회수 151

[33. 좋아요 수 구현] 에서 테스트 하는 화면 동시성 문제

해결됨

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

학습 관련 질문을 최대한 상세히 남겨주세요! 고민 과정도 같이 나열해주셔도 좋습니다. 먼저 유사한 질문이 있었는지 검색해보세요. 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. [33. 좋아요 수 구현] 에서 테스트 하는 화면에서요. 해당 방법대로 실행을 하면 동시성 문제가 발생합니다. Record has changed since last read in table 'article_like_count' 저는 MariaDB를 사용하고 있는데요. MySQL도 마찬가지로 기본 잠금 수준이 Repeatable Read 라고 알고 있습니다. 해당 기본 수준으로 실행하면 동시성 문제로 영상과 다른 결과를 보이게 됩니다. 따라서 잠금 수준을 Read Commited 나 Read Uncommited 로 변경하면 제대로 실행이 됩니다. 이렇게 하는 것이 정답인지 아니면 다른 원인이 있는건지 알려주세요.

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
주주파파 댓글 2 좋아요 0 조회수 144

findByPath에서 articleId로도 검색을 해야 할 것 같아요.

해결됨

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

학습 관련 질문을 최대한 상세히 남겨주세요! 고민 과정도 같이 나열해주셔도 좋습니다. 먼저 유사한 질문이 있었는지 검색해보세요. 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. @Query("select c from CommentV2 c where c.commentPath.path = :path") Optional<CommentV2> findByPath(@Param("path") String path); 위와 같은 방식으로 조회를 하면 인덱스 서치가 되지 않는 것 아닌가요? 아래와 같은 방법으로 해야 할 것 같은데.. @Query("select c from CommentV2 c where c.articleId = :articleId and c.commentPath.path = :path") Optional<CommentV2> findByPath( @Param("articleId") Long articleId, @Param("path") String path); 답변 부탁 드립니다.

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
주주파파 댓글 3 좋아요 0 조회수 148

jpa ddl-auto none을 하는 이유와 join 방법

해결됨

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

Q. SQL 로 미리 테이블 작성하거나 인덱스 설정을 SQL 로 직접하는데 이유가 궁금합니다 인덱스 같은경우 jpa 에서 쓸수있는 옵션이 제한적이라 따로 SQL 로 관리한다고 듣긴했는데 테이블도 실제로 SQL 에서 하는지 궁금하고, SQL 로만 테이블 생성 인덱스 관리를 할경우 현업에서는 어떤 db 마이그레이션 라이브러리를 주로 사용하는지도 궁금합니다. Q. 참조관계를 DB 에서 걸지않고 논리적으로만 걸었을때 참조테이블에대한 조인은 어떤식으로 하는지 궁금합니다. MSA 기준으론 데이터베이스가 아예 분리될텐데 어떤식으로 조인하나요? 추가적으로 논리적으로 참조설계가 된 상황에서 @ManyToOne 사용이 가능한지궁급합니다. 예를들면 Comment 엔티티에서 parentCommentId 같은 같은 데이터베이스에 있는 테이블에 @ManyToOne 적용이 가능한지궁급합니다.

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
쵸잉 댓글 2 좋아요 0 조회수 144

계속 csv파일을 폴더로 인식하는 중입니다.

미해결

카프카 완벽 가이드 - 커넥트(Connect) 편

계속 csv파일을 폴더로 인식하는 중입니다. 이러한 문제에대한 해결방법을 알려주셨으면 합니다. 계속 finished 폴더안에 test-01.csv폴더가생기고 그안에 파일이들어

  • kafka
  • 데이터-엔지니어링
gimhansu 댓글 2 좋아요 0 조회수 148

질문] 에러처리 관련 문의

해결됨

은행 서버 프로젝트 실습을 통해 배우는 코틀린 마스터 클래스

현재 JWT 부분까지 들었습니다! 강의를 들으면서 갑자기 궁금한 부분이 생겨 질문드립니다. 도메인 별로 현재 API (Controller) 도 나눠져있는데요, 이런 형태의 프로젝트(DDD 아키텍처)인 경우 @RestControllerAdvice를 활용한 글로벌예외처리는 어떻게 구성하시나요? 글로벌예외처리 전용 class를 만들고 특정 익셉션들을 구성 후 각각의 익센션에 대한 응답을 ResponseProvider 를 이용해서 하는지? 등... 너무 추상적으로 질문을 드려서 이해하실지 모르겠지만 요약하자면 도메인별로 구별되어 있는 프로젝트에서는 글로벌익셉션처리가 어떤 형태로 구성할 수 있는지 궁금합니다 ㅋ.ㅋ;

  • kotlin
  • mysql
  • mongodb
  • kafka
  • redis
치즈초코우유 댓글 2 좋아요 0 조회수 134

팩터리 메소드와 response 객체 사용 이유가 궁금합니다!

해결됨

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

안녕하세요 게시판 강의 보면서 정말 잘 배우고 있습니다!! 국비학원 프로젝트 하던 때를 생각해보면서 듣고 있는데, 그때는 엔티티에 생성자를 만들어서 서비스에서 그냥 썼는데 본 강의에서 팩토리 메소드 형태를 사용하는 이유가 궁금했습니다!! (기술적으로 더 진보한 형태인지요) 그리고 객체마다 response를 만들어서 commentResponse, ArticleLikeResponse 같은걸 만들어 api 반환에 사용하는데, entity랑 필드도 다르지 않은데 굳이 이렇게 일일이 response 객체를 각각 만들어서 코드를 짜야하는지 궁금합니다!!

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
88diaspora 댓글 2 좋아요 0 조회수 125

클라우데라 매니저 접속 불가 및 로그인 정보 문의

미해결

15일간의 빅데이터 파일럿 프로젝트

안녕하세요, 강사님. 빅데이터 파일럿 프로젝트 강의를 수강 중입니다. 현재 강의 내용대로 Server01과 Server02를 모두 실행했고, http://server.hadoop.com:7180 주소로 클라우데라 매니저에 접속을 시도했는데 웹 페이지 자체가 열리지 않습니다. 또한 강의 자료에서 로그인 아이디와 패스워드 정보도 찾을 수 없었습니다. 혹시 클라우데라 매니저 기본 접속 주소 기본 로그인 아이디와 패스워드 접속이 되지 않을 때 점검해야 할 설정 을 알려주실 수 있을까요? 처음 환경을 구성하는 단계라서 안내해 주시면 큰 도움이 될 것 같습니다. 감사합니다.

  • 빅데이터
  • hadoop
  • kafka
  • zookeeper
  • redis
  • flume
  • impala
  • 데이터-엔지니어링
  • 카카오공채-개발
Suhwa Seong 댓글 2 좋아요 0 조회수 157

인기 태그

인프런 TOP Writers

주간 인기글