
분산 데이터 모델링
₩44,000
중급이상 / DBMS/RDBMS, 시스템 디자인, 소프트웨어 설계, database-modeling, modeling, MSA
4.8
(5)
분산 데이터베이스 환경에서 데이터 모델링하는 방법을 배워봅니다.
중급이상
DBMS/RDBMS, 시스템 디자인, 소프트웨어 설계
안녕하세요.
IT 서비스 대기업 개발자로 근무하며, 대규모 시스템을 지탱하기 위해 다양한 기술을 활용해보고 있습니다.
실무 관점의 개발 지식을 공유하고자 개설하였고, 많은 도움이 되었으면 좋겠습니다.
[문의]
Email : kukekyakya@gmail.com
안녕하세요. 쿠케입니다.
IT 서비스 대기업에서 백엔드 개발자로 재직 중이며, 대규모 트래픽을 지탱하는 서버 애플리케이션을 개발합니다.
현재 인프런에서 대규모 시스템 강의들을 개설 및 운영하고 있습니다.
다양한 도메인의 서비스를 개발 및 운영하고 있으며, 대규모 레거시 프로젝트 뿐만 아니라 신규 프로젝트도 여러 번 경험을 해왔습니다.
주력 기술로는 Java, Spring Boot, RDB, NoSQL, Redis, Kafka 등의 안정적이고 주요한 기술을 다루고 있습니다.
MSA, DDD, EDA 등의 방법론을 활용한 분산 시스템 아키텍처를 직접 밑바닥부터 구성 및 운영해온 경험이 있고,
알고리즘 문제 풀이 및 CS 공부도 간간히 즐겨하고 있습니다.
개발 관련하여 이것저것 궁금한 점 나누는 시간으로 만들어보고자 합니다.
설계에 대한 논의 또는 자문, 개발 방법론 관점이나 생각 공유, 구현 방식에 관한 논의, 공부 방법, 코드 리뷰, 포트폴리오 리뷰 등..
무엇이든 좋습니다.
물론, 제가 모르는 주제는 진행하지 않습니다.
신청 시에 멘토링 필요한 내용을 미리 공유 주시면 감사하겠습니다.
일정은 조율될 수 있고, 온라인 화상 회의(마이크/화면 ON) 또는 채팅으로 진행합니다.
원하는 방식 말씀 주시면 되고, 별도 문의는 프로필에 기입된 메일로 먼저 주셔도 됩니다.
감사합니다.
분산 데이터 모델링
₩44,000
중급이상 / DBMS/RDBMS, 시스템 디자인, 소프트웨어 설계, database-modeling, modeling, MSA
4.8
(5)
분산 데이터베이스 환경에서 데이터 모델링하는 방법을 배워봅니다.
중급이상
DBMS/RDBMS, 시스템 디자인, 소프트웨어 설계
스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
₩198,000
중급이상 / Spring Boot, MySQL, Redis, Kafka, Java
4.9
(73)
대규모 데이터와 트래픽을 지탱하기 위한 시스템을, 스프링부트로 직접 만들면서 배워봅니다.
중급이상
Spring Boot, MySQL, Redis
질문&답변
comment_v2에서 unique index 를 추가하지 않고 table 생성 시 path에 unique 제약을 걸어도 효과가 같을까요?
kkasten님, 안녕하세요! 잘 수강해주셔서 감사합니다!둘다 동일하게 유니크 인덱스를 만들어주는 것입니다.테이블에 유니크 제약을 정의한다면, 인덱스를 따로 만들 필요 없습니다!
질문&답변
hot article 로직 변경
태우님, 안녕하세요!영구 저장이면 굳이 인메모리 데이터베이스에 저장할 필요는 없을 것 같습니다.백업 기능도 제공하긴 하지만, 비용이나 운영 복잡도 등 고려하면 그냥 안전한 저장소에 저장하고 레디스는 캐시로 활용하면 충분할 것 같네요.
질문&답변
MSA -> 모놀리식 패턴으로 수정
태우님, 안녕하세요!모놀리식에서는 굳이 동일한 데이터를 복제해서 저장할 필요는 없을 것 같네요.각 서비스의 리포지토리에서 count 가져와도 충분할 것 같습니다!
질문&답변
MSA 에서 Monolithic Architecture로 마이그레이션
태우님, 안녕하세요!모놀리틱으로 변경한다면, 말씀하신대로 분리되어있는 각 마이크로서비스 모듈을 패키지 분리하면 충분할 것 같네요!common 모듈은 지금처럼 분리해둬도 딱히 문제는 없습니다.필요한 의존성들이 단일 애플리케이션에서 실행된다는 점만 인지해주시면 될 것 같습니다.강의 잘 수강해주셔서 감사합니다!
질문&답변
각 application.java에서 빈 스캔할때 차이
닉네임무얼하지님, 안녕하세요! 말씀 주신 사항만으로는 저도 정확한 원인 파악은 어렵지만, 짐작가는 부분 남겨봅니다! 강의에서는 애플리케이션에서 다른 패키지 모듈의 빈을 스캔하기 위해서 AutoConfiguration을 사용 중 인데요,outbox-message-relay > resources 디렉토리 > META-INF 디렉토리 > spring 디렉토리에서,org.springframework.boot.autoconfigure.AutoConfiguration.imports 파일을 정의하고,kuke.board.common.outboxmessagerelay.MessageRelayConfig자동으로 스캔하기 위한 Configuration 클래스를 선언하고 있습니다. 많이들 실수하시는 부분이,META-INF 디렉토리 하위의 spring 디렉토리인데, META-INF.spring 디렉토리로 선언하기org.springframework.boot.autoconfigure.AutoConfiguration.imports 파일명에서 오타kuke.board.common.outboxmessagerelay.MessageRelayConfig 에서 오타MessageRelayConfig에서 @ComponentScan("kuke.board.common.outboxmessagerelay") 스캔 범위 잘못 지정하거나 오타등이 있더라고요. 혹시 위 내용들 점검해보시겠어요?
질문&답변
섹션4 (좋아요)의 댓글 수 구현 강의에서 질문 있습니다.
태우님, 안녕하세요! 강의에서 제시한 요구사항에서는 논리적 삭제한 댓글도 "삭제 댓글"이란 상태로 사용자에게 나타나기 때문입니다.사용자가 내용은 볼 수 없지만, 아무튼 그 공간을 차지하고 있기 때문에 카운트에 포함되는게 적절하다고 판단 했네요!정책은 그냥 정하기 나름일 것 같습니다!
질문&답변
ArticleDeletedEventHandler
성장하자님, 안녕하세요! ArticleQueryModel 모델에 좋아요 수, 댓글 수도 모두 포함되어 있습니다.ArticleQueryModel을 삭제하면, 해당 데이터도 당연히 함께 삭제됩니다! 조회 수는 캐시 TTL에 의해 자동으로 제거됩니다. 굳이 실시간으로 지울 필요는 없습니다.특히 참조 데이터 지우는 작업들이 많고 무거울수록 실시간으로 한번에 처리하는 일은 드물고, 그럴 필요도 없습니다.어차피 진입점을 막으면 데이터 접근도 불가하고, 사용성에 문제가 생기지도 않습니다.트래픽이 적은 시점 또는 필요한 보관 기간이 끝난 시점 등 안전한 상황에 별도 배치나 스케줄링으로 데이터를 정리할 수도 있습니다.
질문&답변
TransactionalEventListener 관련 문의드리고자 글 남깁니다.
자기개발하고싶어요님, 안녕하세요! payload(강의에서는 OutboxEvent) 를 통해 분기처리하는 방법만 보이다보니제가 보기엔 이게 가장 깔끔하고 편할 것 같은데, 굳이 다른 방법을 찾으시는 이유가 있을까요?파라미터 타입이 다르면 호출이 되지 않는데, 어떠한 부분에서 불필요한 리소스 사용이라고 느끼셨을까요? 다른 구현 방법으로는,@TransactionalEventListener의 condition 필드를 사용해서 분기 조건을 만들 수도 있고,단일 리스너에서 직접 분기 코드를 작성할 수도 있습니다.직접 원하는 부분에만 커스텀 애노테이션을 만들어서 AOP를 적용시킬 수도 있고요. 다만, 그냥 파라미터 타입만 달리해서 구현을 하는게 가장 간단하고 편할 것 같네요!
질문&답변
오타 문의
감스트의웃음노예님, 안녕하세요! 앗, 말씀 주신 부분이 맞네요. 테이블을 쪼갠 것이므로 비정규화가 아니라 정규화가 맞습니다.이 부분 추후에 수정할 수 있도록 하겠습니다!제보 감사합니다!
질문&답변
406 Not Acceptable에러 발생
Gwangseok Lee님, 안녕하세요! 말씀 주신 내용으로는 파악하기가 어렵네요. Accept와는 무관할 것 같습니다.컨트롤러 코드도 보여주시겠어요?@RestController로 선언되어 있는지, @PostMapping으로 잘 선언된게 맞는지 확인해보시면 좋을 것 같네요!