묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
jpa ddl-auto none을 하는 이유와 join 방법
Q. SQL 로 미리 테이블 작성하거나 인덱스 설정을 SQL 로 직접하는데 이유가 궁금합니다인덱스 같은경우 jpa 에서 쓸수있는 옵션이 제한적이라 따로 SQL 로 관리한다고 듣긴했는데 테이블도 실제로 SQL 에서 하는지 궁금하고, SQL 로만 테이블 생성 인덱스 관리를 할경우 현업에서는 어떤 db 마이그레이션 라이브러리를 주로 사용하는지도 궁금합니다.Q. 참조관계를 DB 에서 걸지않고 논리적으로만 걸었을때 참조테이블에대한 조인은 어떤식으로 하는지 궁금합니다.MSA 기준으론 데이터베이스가 아예 분리될텐데 어떤식으로 조인하나요?추가적으로 논리적으로 참조설계가 된 상황에서 @ManyToOne 사용이 가능한지궁급합니다. 예를들면 Comment 엔티티에서 parentCommentId 같은 같은 데이터베이스에 있는 테이블에 @ManyToOne 적용이 가능한지궁급합니다.
-
미해결카프카 완벽 가이드 - 커넥트(Connect) 편
계속 csv파일을 폴더로 인식하는 중입니다.
계속 csv파일을 폴더로 인식하는 중입니다. 이러한 문제에대한 해결방법을 알려주셨으면 합니다.계속 finished 폴더안에 test-01.csv폴더가생기고 그안에 파일이들어
-
해결됨은행 서버 프로젝트 실습을 통해 배우는 코틀린 마스터 클래스
질문] 에러처리 관련 문의
현재 JWT 부분까지 들었습니다! 강의를 들으면서 갑자기 궁금한 부분이 생겨 질문드립니다.도메인 별로 현재 API (Controller) 도 나눠져있는데요, 이런 형태의 프로젝트(DDD 아키텍처)인 경우 @RestControllerAdvice를 활용한 글로벌예외처리는 어떻게 구성하시나요? 글로벌예외처리 전용 class를 만들고 특정 익셉션들을 구성 후 각각의 익센션에 대한 응답을 ResponseProvider 를 이용해서 하는지? 등...너무 추상적으로 질문을 드려서 이해하실지 모르겠지만 요약하자면 도메인별로 구별되어 있는 프로젝트에서는 글로벌익셉션처리가 어떤 형태로 구성할 수 있는지 궁금합니다 ㅋ.ㅋ;
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
팩터리 메소드와 response 객체 사용 이유가 궁금합니다!
안녕하세요 게시판 강의 보면서 정말 잘 배우고 있습니다!! 국비학원 프로젝트 하던 때를 생각해보면서 듣고 있는데, 그때는 엔티티에 생성자를 만들어서 서비스에서 그냥 썼는데 본 강의에서 팩토리 메소드 형태를 사용하는 이유가 궁금했습니다!! (기술적으로 더 진보한 형태인지요) 그리고 객체마다 response를 만들어서 commentResponse, ArticleLikeResponse 같은걸 만들어 api 반환에 사용하는데, entity랑 필드도 다르지 않은데 굳이 이렇게 일일이 response 객체를 각각 만들어서 코드를 짜야하는지 궁금합니다!!
-
미해결15일간의 빅데이터 파일럿 프로젝트
클라우데라 매니저 접속 불가 및 로그인 정보 문의
안녕하세요, 강사님.빅데이터 파일럿 프로젝트 강의를 수강 중입니다.현재 강의 내용대로 Server01과 Server02를 모두 실행했고,http://server.hadoop.com:7180 주소로 클라우데라 매니저에 접속을 시도했는데웹 페이지 자체가 열리지 않습니다.또한 강의 자료에서 로그인 아이디와 패스워드 정보도 찾을 수 없었습니다.혹시클라우데라 매니저 기본 접속 주소기본 로그인 아이디와 패스워드접속이 되지 않을 때 점검해야 할 설정을 알려주실 수 있을까요?처음 환경을 구성하는 단계라서 안내해 주시면 큰 도움이 될 것 같습니다.감사합니다.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
강의 자료는 어디서 다운 받을 수 있나요?
안녕하세요.강의가 업데이트 되면서 다시 한번 강의 듣고 있네요 감사합니다.업데이트 된 강의자료(PDF, PPT)파일을 다운 받고 싶은데 어디서 다운 받아야 하나요?답변 부탁드립니다.감사합니다.수고하세요.
-
미해결Kafka & Spark 활용한 Realtime Datalake
ch4_3 apache zookeeper 설치파일 관련 질문
ec2-user$ curl -O https://dlcdn.apache.org/zookeeper/zookeeper-3.8.4/apache-zookeeper-3.8.4-bin.tar.gz복사 붙여넣기 해도 오류가 나고 QnA에 뭐 복붙을 하면 오류가 발생할 수 있다하여 직접 타이핑을 해도 오류가 납니다..대체 왜이런건가요 ...저기 링크로 직접 들어가봐도 아무것도 안떠요
-
해결됨실전에서 바로 써먹는 Kafka 입문
카프카 서버 관련 질문입니다.
안녕하세요! 백엔드 취업 준비생입니다.포트폴리오를 위해 프로젝트를 진행하고 있는데, 강의처럼 EC2 한 대에서 포트만 다르게 설정하여 브로커 3개를 기동해도 괜찮은 지 궁금합니다.운영 환경과 다르다는 지적을 받을 수 있는지 혹은 실습 환경에서는 충분히 이해 가능한 접근이라고 받아들여질지 궁금합니다.실제 현업에서는 어떻게 판단하시는지 의견을 들을 수 있다면 큰 도움이 될 것 같습니다.감사합니다.
-
미해결장애를 허용하는 견고한 시스템 만들기
안녕하세요 강사님 질문 있습니다.
안녕하세요. 강사님 강의 잘 들었습니다.한가지 질문이 있습니다.주문 생성과 주문 처리api를 나누고 사용자가 결제가 되면 주문 처리 api를 호출하는걸로 알고있습니다.Orchestaration 방식으로 처리할 때 OrderConfirmEvent를 발행하면 제 서비스로 예를 들면 재고, 쿠폰, 적립금 서비스에서 consume하여 처리를 하고 있습니다.그런데 주문 처리 api에서 재고는 처리되었지만 쿠폰은 실패할 경우 어떻게 보상 트랜잭션을 주어야할지 모르겠습니다.결제가 된 주문이라 바로 보상을 하는것 보다는 dlt topic에 넣고 재처리를 하고 만약 재시도 3번을 하고 나서 실패할 경우 환불을 해줘야할까요?주문 처리 api에서는 어디가 실패한지 모르니까요 혹시 어떤식으로 해야할지 조언좀 받을수 있을까요?
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
커서 기반 페이지네이션 과 무한 스크롤링
안녕하세요 강사님강의를 수강하는 학생입니다. 무한 스크롤링은 두 번째부터 보통 끝쪽 id 에 데이터를 기반으로 데이터를 불러오는 방식이보통 커서 기반 페이지네이션과 큰 차이가 없는 건가요? (claude 나 ) 블로그 보면서 이것도 비슷한 개념인 거 같아서 질문 드립니다. @Entity@Table(name = "post",indexes = {@Index(name = "idx_post_board_created_id",columnList = "board_id, created_at DESC, post_id DESC"),@Index(name = "idx_post_created_id",columnList = "created_at DESC, post_id DESC")})@Getter@NoArgsConstructorpublic class Post {@Id@GeneratedValue(strategy = GenerationType.IDENTITY)@Column(name = "post_id")private Long id;@ManyToOne(fetch = FetchType.LAZY)}이렇게 엔티티에 인덱스를 만들어서 사용하는지 궁금합니다. 강의에서 처럼 SnowFlake도 보통 저렇게 인덱스를 만들어서 활용하는지도 궁금합니다.
-
미해결실전에서 바로 써먹는 Kafka 입문
선생님 질문이 있습니다. 왜 바로 aws 설치 하시는지 궁금합니다.
선생님 스타일은 보통 로컬에서 연습하고 그다음 배포 하고 실습 하는 스타일이셨는데 왜 카프카 수업은 바로 aws로 가시는지 궁금합니다.도커 허브에서도 카프카 이미지를 제공하는거 같은데 뭔가 스타일이 달라지시니 따라가기 힘듭니다..
-
해결됨은행 서버 프로젝트 실습을 통해 배우는 코틀린 마스터 클래스
강의_34] 공통 모듈 관련 질문입니다.
아직 MSA 경험이 없다보니 질문을 드려봅니다.메시지에 관련된 Entity를 공통 모듈로 뺀다고 하셨는데용Lecture_1 라는 프로젝트, Lecture_2 라는 프로젝트가 있다고 가정을 했을 때'공통 모듈' 이라는걸 별도의 프로젝트로 구성한다는 말씀이실까요?아니면 아래와 같이 프로젝트 root외에 모듈을 별도로 잡아서 한다는 말씀이실까영?rootProject.name = 'Lecture_2' include 'common' <-- 공통 모듈?rootProject.name = 'Lecture_2' include 'common' <-- 공통 모듈?아, 그리고 최근에는 MSA에 대한 단점이 명확해지고 있어서 Modular Monolithic 아키텍처도 생겨나고 있는데 강사님께서는 이 부분에 대해서 어떻게 생각하시는지도 궁금합니다!
-
해결됨Kafka & Spark 활용한 Realtime Datalake
질문있습니다 섹션13. Spark streaming 부분
수업 잘 따라가고있습니다 다름이 아니라선생님과달리 저는 스파크 서브밋을 하면 선생님처럼SLf4J가 아니라 다른 로그가 나옵니다그리고 선생님처럼 바로 실행되는게 아니라 약 40초에서 1분30초정도 걸려서 실행되는데 혹시 제가 빠뜨렸을법한 설정이 있을까요?우선 실행만 되면 실습을 따라가는데 큰 문제는 없습니다.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
전체 사용자 조회시 오류
안녕하세요. 11:18분쯤 전체 사용자 조회할 때 강의에서 오류가 나지 않아서 여쭈어봅니다.. apigateway 에서는 yml파일을 바라보는 파일이 ecommerce 이고, user-service에서는 user-service yml파일을 바라보고 있는데 두 개의 secret key 값이 다른데 오류가 안나는 게 정상인가요..? 코드 바뀐 부분을 영상에서 말씀을 안해주셔서 매번 이 강의 깃허브랑, yml 파일들이 들어가있는 깃허브를 확인하면서 진행하는데 깃허브 업데이트가 안된건지 .. 궁금합니다.. 제가 임의로 ecommerce secret key값을 application.yml 파일과 동일하게 하니 오류는 해결되었는데.. 강사님 영상 보면서 할 때 오류가 나지 않아야 한다면 제가 잘못 한건지 궁금해요.. https://github.com/joneconsulting/new-toy-msa/blob/ch10-1/apigateway-service/src/main/resources/bootstrap.ymlhttps://github.com/joneconsulting/spring-cloud-config/blob/master/ecommerce.yml
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
게시글 생성 로직에서 오류 발생시 redis 게시글 수 되돌리기
게시글 생성 로직에서 만약 오류 발생시에 db는 롤백이 되는데 만약 redis에 저장된 게시글수가 이미 증가됐다면 감소를 시켜야 하는데 어떻게 처리하는게 좋을까요
-
미해결Kafka & Spark 활용한 Realtime Datalake
ot 자료
다른 pdf는 있는데 ot 자료는 pdf가 안올라와 있네용
-
미해결장애를 허용하는 견고한 시스템 만들기
bitnami/kafka 말고 다른 이미지를 사용하는 방법 알려주세요.
bitnami/kafka 이미지를 pull하려고 하는데 dockerhub에 해당 이미지의 태그가 없어지는 것으로 보입니다. apache/kafka 이미지로 대체하려는데 docker-compose 파일은 어떻게 변경해야 될까요?
-
해결됨[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
멱등성 프로듀서 retries 관련 질문입니다.
1. retries가 Integer.MAX_VALUE로 설정되는 이유?아래와 같은 이유로 retries가 Integer.MAX_VALUE로 설정되는 것인지 궁금합니다.멱등성 프로듀서는 각 파티션 단위에서만 멱등성이 보장되는 것으로 알고 있습니다. (SID를 브로커의 메모리에 저장하기 때문에)레코드에 key가 없고 라운드로빈으로 파티션을 결정하는 형태라는 가정하에서, 강의에서 소개해주신 예제(프로듀서가 레코드를 정상적으로 보냈으나 네트워크 이슈 등으로 ack를 받지 못한 케이스)를 생각해봤을 때, retries를 Integer_MAX_VALUE로 설정한 이유는 다른 파티션으로 레코드를 보내는 상황을 막기 위함인 건가요?위 예제의 강의 자료내 그림에 대해서도 질문이 있는데, ack를 받지 못했을 때 send()를 통해 다시 보내는 것처럼 그림이 되어 있는데, 이것이 실제로 프로듀서가 다시 send() 하는 것을 의미하신 건지, retry를 의미하신 건지 궁금합니다.2. retries를 Integer.MAX_VALUE로 설정되어도 괜찮은가요?네트워크 순단 등은 괜찮을 것 같은데 애플리케이션과 카프카 브로커 간 장기적인 네트워크 문제가 발생한다면 retries Integer.MAX_VALUE 설정은 단일실패지점이 되지 않을까 싶은 생각이 들었습니다.(데이터 정합성도 중요하지만 애플리케이션에서 다른 여러 서비스를 운영하고 있을 경우 서비스의 지속성이 더 중요할 경우)이런 점을 고려하여 멱등성 프로듀서를 사용할 때는 애플리케이션 내에서 프로듀서를 별도의 스레드 풀로 관리하는 비동기 처리, 비동기 큐 관리(Backpressure 등)을 반드시 마련해야하는지 궁금합니다.
-
미해결[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
채팅 서비스 개발 시 주의점이 있을까요?
안녕하세요!이번에 카프카를 처음 접해본 초보 개발자입니다.이번 카프카를 공부하면서 프로젝트로 여러 사람들이 채팅방에서 채팅하는 기능을 만들어보고싶은데요..몇가지 질문이 있어 문의드립니다!webflux를 사용한 비동기 식을 채팅을 구현하려고 합니다. 그래서 알아보니 reactor-kafka란게 있던데 실제 현업에서도 reactor-kafka를 사용해서 구현을 할까요..??하나의 채팅방 토픽이 있을 때, A유저가 메시지를 보내면, 다른 유저들에게도 메시지를 브로드캐스트로 전달해야하는데.. 이때 보통 어떤 방식을 하는지 알고싶습니다.. 각 유저마다 컨슈머 아이디를 따로 줘야하는지..... 메시지는 쌓이는데 어떻게 전달해야할지.. 잘 감이 안잡힙니다..프로듀서를 통해 전달된 데이터를 카프카가 뒷단 레디스에 채팅 데이터를 시키려고 합니다. 이때.. 새로 들어온 유저들은 이전 채팅이력을 받아와야한다면, 레디스에서 바로 가져오는게 좋을까요? 아니면 카프카에 있는 데이터를 삭제 설정을 길게 두고 카프카에서 바로 가져가게 하는게 좋을까요...;;
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
멀티 모듈이 아닌 MSA 환경에서 common
지금은 멀티 모듈로 프로젝트를 설정해서 common이라는 공통 모듈로 분리해도 문제가 없을 것 같은데, 정말 개발 환경이 달라지면 어떻게 진행이 되나요?예를 들어, board는 java, comment는 python으로 개발이 된다고 하면, board와 comment에 사용될 common을 팀끼리 약속을 해두고 각각 서버에 구현을 해서 사용하게 되나요?