묻고 답해요
167만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결비전공자도 이해할 수 있는 MSA 입문/실전 (feat. Spring Boot)
user-service jwt
frontend 와 backend jwt 주고 받을때 controller 에서 @User 라는 데코레이션 혹은 그냥 @AuthenticationPrincipal AuthenticatedUser authenticatedUser,만들어두고 사용하곤 했었는데레파지토리를 나눠버렸을때는 어떻게 관리를 하게 되나요 ??
-
미해결Microservice 설계(with EventStorming,DDD)
애그리거트 질문있습니다!
강의 잘듣고 있습니다! 도출된 애그리거트와 의문이 생겨 질문드립니다. 제가 알고 있는 Aggregate는 "여러 객체를 하나의 일관된 단위로 묶은 클러스터" 이고, Aggregate Root가 존재하며 외부에서는 Root를 통해서만 접근해야 한다고 이해하고 있습니다. 근데 노란 포스트잇으로 도출된 애그리거트 들은 객체를 하나의 일관된 단위로 묶은 클러스터의 개념은 아닌거 같아서요 세번째 강의의 코드만 대략 보고왔는데 이벤트 스토밍으로 도출된 애그리거트와는 조금 다른거 같아 질문드립니다ㅜ_ㅜ
-
해결됨Spring Boot DDD 실전: 주문 시스템으로 배우는 도메인 설계
DDD 는 마이바티스와 잘 맞지 않는건가요?
안녕하세요.DDD 관련 강의나 블로그를 보면대부분 JPA 로 설명해주시더라구요. 마이바티스도 실무에서 오히려 더 폭 넒게 쓰이는 것 같은데 마이바티스로는 DDD 를 적용하기 어려운걸까요?
-
해결됨Spring Boot DDD 실전: 주문 시스템으로 배우는 도메인 설계
스프링부트 버전 문의드립니다.
안녕하세요. 부트버전을 3.5 로 설정해서 수강해도 괜찮을까요. 회사에서 아직 4.x 버전 업 계획이 없어서요.
-
해결됨카카오, 토스 개발자가 알려주는 수백개의 MSA 환경에서의 성능 보장을 위한 RPC 처리 기법
gRPC 실무에서 질문
이제 앞으로 3개만 더 들으면 완강이네요! 빠르게 gRPC를 공부할수 있어서 좋았습니다. 강의를 마무리해가니 궁금한 점이있어 질문 남깁니다.마이크로서비스가 1000개 이상되는 회사에서 데이터팀 백엔드 인턴으로 근무를 할 예정인데 데이터팀이다 보니 서비스들 전체를 아우르는 일을 해야한다고 들었습니다. 그래서 gRPC에 대해서 공부해오면 좋다고 해서 강의를 수강하게 되었습니다. 처음에 회사에 들어가면 어떤식으로 서비스들의 gRPC를 분석해야할까요? 혹시 추천해주시는 순서가 있으실까요? 예를 들어서 .proto파일을 먼저 확인한다 -> 등등성공적인 백엔드 인턴을 위해서 추가적인 조언이 있으시다면 감사하겠습니다.
-
해결됨카카오 면접관이 알려주는 MSA 관점에서의 분산 트랜잭션 패턴
Orchestration SAGA 패턴 보상에 대한 질문입니다.
Orchestration SAGA 패턴 구현에 대해 고민하다가 질문이 생겨 남깁니다.보상을 요청하는 메서드가 명시적으로 나와있어 호출할 때(동기로 호출)만약 rollback을 요청하는 호출이 실패하게 된다면 이후의 순서대로 service에 보상 요청을 하는 동작을 멈춰야 할지 계속 진행하는 게 바람직할지 고민이 됩니다.예를 들어 서비스 1,2,3,4가 있고 center server가 orchestration 관리를 하고 1,2,3,4 순서대로 서비스 호출해서 관리를 진행한다고 했을 때 3에서 장애가 발생해서 2를 롤백하던 중 2 롤백에서 예외가 발생해서 롤백에 실패한 경우 orchestration에서 1에 대한 롤백을 진행해줘야 할지 아니면 일단 멈춰야 할지 고민입니다. 고민의 이유는 순서대로 롤백을 해주는 것은 앞에 작업이 뒤의 작업에 의존성이 있을 때만 그렇게 해주면 되나에 대한 고민이 있었습니다. 두 롤백 간에 데이터 의존성이 없다면 괜찮지 않을까 고민했습니다.다음으로 일단 1도 롤백을 한다면 어디서부터 어디까지 롤백이 진행됐는지 추적이 어려워지지 않을까 고민했습니다. 롤백을 어떤 것은 해주고 어떤 것은 안해준다면 어디까지 롤백했는지 추적이 힘들어지지 않을까 생각이 들었습니다.
-
해결됨분산 데이터 모델링
6강 - 해시태그 모델의 샤딩 전략에 대하여, 분산 정도(데이터 편중)와 트랜잭션 성능의 trade off 상황 발생 시에 대한 고민
안녕하세요, 선생님!6강 해시태그 모델을 배운 후 데이터 분산 정도와 트랜잭션 일관성의 trade off에 대한 선택이 생각났고, 이에 대한 선생님의 고견은 어떠하실지 궁금하여 질문 올리게 되었습니다. 질문 내용은 아래와 같습니다.데이터 편중도 크고 vs 트래픽이 많이 발생하여 트랜잭션까지 고려해야할때 샤딩키를 어떤 것으로, 어떤 부분을 tradeoff의 우선순위로 지정하는 것이 좋을지저의 경우 트래픽을 선택할 것 같은데, 데이터 편중에 대해 추가적인 보완사항이 있다면 어떤 것이 있을지 일단 강의의 경우, 제가 이해한 내용으로는, 해시태그 모델과 같이, PK/FK의 분산 정도가 비슷하고, 부모 속성(FK)에 의한 쏠림 현상이 발생하여도 그 규모가 충분히 크지 않으므로 쓰기 경로를 중점적으로 고려하여(동일 게시글에 대한 해시태그를 동일 샤드에 저장) 설계한다. 이와 같습니다. 저는 해시태그 모델과 함께, 다른 예를 들어, 하루에 50,000건의 거래가 이루어지는 대규모 거래가 발생하는데, 이를 거래 게시판을 각 도메인 별(화장품/전자기기 등)로 별도로 만들어서 한 거래게시판 당 하루에 10,000건의 게시글, 1개의 1000~2000개의 찜이 발생한다고 하였을때의 상황에 대해 생각해보았습니다. 제가 만약 실무에서 찜 DB를 설계한다고 가정하고, 이에 대해 대응한다고 하였을때, 1) 게시글 ID와 찜(누가 찜했는지 구분해야 함, 찜ID로 구분한다고 가정하면)의 트래픽이 한 한 게시글 기준 찜 몇천여개, 게시글 총 만여개의 수준으로 발생하여 규모가 충분히 작다고 볼 수 없습니다. 2) 따라서 데이터 쏠림 현상에 대해 고민을 안할래야 안할 수가 없고, 그러면서도 데이터의 균등한 샤딩에 대해서도 고민이 들게 되었습니다. 3) 결국 데이터 분산을 균등하게 하느냐, 쏠림이 발생하더라도 쓰기 트래픽의 성능과 일관성, 조회 성능의 이점이 큰 것인가를 선택해야 하는데 4) 분산을 선택하지 않고, 트래픽 성능/일관성/조회 성능을 생각하였을때, 확실히 단일 데이터베이스에 있을때 성능적인 측면에서도 좋고, 일관성, 특히 조회 시 별도의 CQRS 전용 쿼리모델이나 DB를 따로 두지 않고 인덱스도 따로 설계하지 않는 등 훨씬 엄청난 이점이 될 것으로 판단이 됩니다. 따라서, 분산 정도 대신 성능 쪽으로 결론짓고 샤딩 키를 찜 ID 대신 게시글 ID로 지을 것 같습니다. 대신, 엄청난 트래픽으로 인해 데이터 편중이 너무 커진다면 게시글 생성일자를 샤드키로 추가하여 데이터를 좀 더 세부적으로 분리할 것 같습니다(아니면 더 좋은 방안이 있을지). 이에 대해 선생님의 생각이 궁금하여 질문드리게 되었습니다! 감사합니다.
-
미해결실전에서 바로 써먹는 Kafka 입문
2. Kafka 설치 파일 다운받기 404 Not Found 오류 관련
강사님, 안녕하세요. 강의 잘 듣고 있습니다~!2. Kafka 설치 파일 다운받기에서현재기준 카프카 4.0.0 다운로드 주소가 변경된 것 같습니다!EC2에서 아래와 같이 입력하시면 다운로드가 잘됨을 확인할 수 있었습니다.감사합니다wget https://archive.apache.org/dist/kafka/4.0.0/kafka_2.13-4.0.0.tgz
-
미해결비전공자도 이해할 수 있는 쿠버네티스 입문/실전
실습을 가상환경에서 해도 따라하는데 지장이 없나요?
DockerDesktop 을 설치 하다가 계속 에러가 떠서 가상환경에서 해보려고 하는데 강의를 보면서 따라 하는데 괜찮은지 문의드립니다.
-
미해결비전공자도 이해할 수 있는 쿠버네티스 입문/실전
쿠버네티스 학습
안녕하세요 선생님!강의 잘 듣고 있습니다.최대한 쉽게 설명해주시는 덕분에 이해가 잘 되어 도움 많이 되고 있습니다.이제 강의 내용은 모두 반복 학습하여 익혔는데 이후 쿠버네티스에 대해 좀 더 깊이 공부해 볼 만한 부분이 있을까요?? 앞으로의 학습 방향 추천 부탁드립니다 :)
-
미해결실전에서 바로 써먹는 Kafka 입문
UserSignedUpEventConsumer 에서 로그 DB 저장 문의
말씀해주신 것처럼 컨슈머 로직 안에 로그를 디비로 저장하는 부분이 비동기 처리를 하기 위해 kafka를 도입하는 것과 상충하지 않는지 의문입니다. @Service public class UserSignedUpEventConsumer { private EmailLogRepository emailLogRepository; public UserSignedUpEventConsumer(EmailLogRepository emailLogRepository) { this.emailLogRepository = emailLogRepository; } @KafkaListener( topics = "user.signed-up", groupId = "email-service", concurrency = "3" ) @RetryableTopic( attempts = "5", backoff = @Backoff(delay = 1000, multiplier = 2), dltTopicSuffix = ".dlt" ) public void consume(String message) throws InterruptedException { UserSignedUpEvent userSignedUpEvent = UserSignedUpEvent.fromJson(message); String receiverEmail = userSignedUpEvent.getEmail(); String subject = userSignedUpEvent.getName() + "님, 회원 가입을 축하드립니다!"; Thread.sleep(3000); System.out.println("이메일 발송 완료"); EmailLog emailLog = new EmailLog( userSignedUpEvent.getUserId(), receiverEmail, subject ); emailLogRepository.save(emailLog); } } 이 부분을 실무레벨에서 해결한다면 어떤 방법이 있는지 궁금합니다.
-
해결됨빠르게 배우는 Spring Cloud 기초(MSA)
프로젝트 환경세팅 파일 왜 안보일까요...
강의 관리가 안된느 것 같아 아쉽습니다.신속하게 답변 부탁드립니다..
-
해결됨비전공자도 이해할 수 있는 MSA 입문/실전 (feat. Spring Boot)
MSA에서 서비스별 DB 작성에 관해
안녕하세요.언제나 좋은 강의 만들어주셔서 감사합니다.강의에서 MSA는 서비스별로 DB를 구축하는 것으로 설명해주셨는데요.이 경우, 서비스 수가 늘어날수록 데이터베이스도 함께 증가하게 되어고정비용이 기하급수적으로 늘어날 것 같습니다.실제로 기업에서 사용하는 MSA 구조에서도이와 같이 서비스별로 별도의 데이터베이스를 구축하는지 궁금합니다.
-
미해결비전공자도 이해할 수 있는 MSA 입문/실전 (feat. Spring Boot)
Microservice 에 DB 띄우기
Microservice 에 DB 를 띄우게 될때 DB 를 여러대 띄우는것 같은데저렇게 하지않고하나의 DB 를 띄우고 스키마로 분리하는 경우도 있나요 ?? 너무 낭비가 되지 않나 ?? 생각도 들어서요
-
미해결비전공자도 이해할 수 있는 MSA 입문/실전 (feat. Spring Boot)
MSA 프로젝트 요구사항 및 설계 에서의 FK
안녕하세요 강의 잘 듣고있습니다.MSA 프로젝트 요구사항 및 설계 부분에서 모놀로식으로 설계하게 될때는FK 를 걸지만 MSA 에서는 DB가 독립적으로 분리되어 있어서 FK 를 걸 수 없을것 같습니다 .Application 단에서도 하지않나요 ?? 예를들어서 @ManyToOneuser: User;
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
kafka 업데이트 강의 듣고 시포요
선생님 kafka 업데이트 강의 듣고 싶어요♥
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
강의 교안
강의 교안 지금은 받을수있을까요
-
미해결MSA 아키텍처에 사용되는 Gateway 패턴 구현하기
교안에 사용되는 app.js 파일은 어디서 받을수 있을까요?
15. 포멧팅 형식을 따르는 yaml 잓겅 및 client 코드에서 사용 되는 app.js 파일은 어디서 받을수 있을까요?
-
미해결실전에서 바로 써먹는 Kafka 입문
리더 파티션 선출 규칙에 관한 질문
강사님, 안녕하세요. 강의 잘듣고 있습니다! 실습을 하고 있는데 궁금한 점이 있어서 글을 남깁니다. 혹시 파티션 중 리더 replica를 선출하는 규칙이 있는지 궁금합니다. 예를들면 파티션에 1,2,3 번 replica가 있었고 리더였던 1번 replica가 중단됐을 경우 2번, 3번 replica 중 어떤 것이 리더가 되는지 궁금합니다. 시간되실때 답변 꼭 부탁드립니다. 감사합니다!
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
마이크로서비스간 통신 시, 인증 처리
유저서비스에서 주문서비스로 주문 목록을 rest api 로 요청을 보내는데, 주문 서비스에서 주문 목록에 대한 api 는 유저서비스 의 IP만 접근하도록 방어 처리도 따로 필요 한가요 ??