묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
messagerelayconfig클래스에서
bootstrapServers의 value값은 어디에 가져오는건가요?yml이나 properties파일은 없는 거 같은데..
-
해결됨대기업 근무하며 경험한 Redis를 야무지게 사용하는 방법 [이론편]
SSD가 메모리인가요?
Redis란 무엇인가 강의 3:33초 쯤 Redis가 SSD 같은 메모리를 사용한다고 하셨는데 SSD가 메모리인가요?
-
해결됨6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법
UNDO LOG와 롤백에 관해 질문드립니다.
1. 현재 학습 진도4-5 수강중 트랜잭션 내 isolation level에 따른 데이터 consistency 보장을 위해, WAL(Write-Ahead Logging)시 내부적으로 사용하는 UNDO LOG와 REDO LOG를 활용한다. 2. 어려움을 겪는 부분그러면 트랜잭션 내에서 rollback을 수행하면, UNDO LOG를 기반으로 디스크 내용을 트랜잭션 수행 이전 상태로 되돌린다고 이해했습니다. 맞게 이해한걸까요?만약 이게 맞다면, WAL로 인해 트랜잭션 내 작업들은 커밋되기 전에 디스크에 반영되지 않으므로, rollback된다면 UNDO LOG를 활용하지 않더라도 디스크 내 데이터가 이전 내용임이 보장되지 않나요?롤백 시 UNDO LOG가 어떤 부분에서 활용되어야 하는지 이해하지 못했습니다.
-
해결됨6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법
이력서 첨삭
안녕하세요 딩코님 제가 완강을 하여 이력서를 작성해봤는데보완·추가 할만한 부분을 알려주실수 있을까요https://earthy-chalk-721.notion.site/Lee-Jeongwon-1aa176858bf380cca9cce9625a5ad1e4?pvs=73강의중 살짝 봤는데 포공 졸업하셨나요,,, 역시 너무 잘배웠습니다
-
해결됨대기업 근무하며 경험한 Redis를 야무지게 사용하는 방법 [이론편]
레디스 활용에 대해서 질문드립니다!
안녕하세요! 알고 있는 Redis 지식을 복습하고, 또 어떤 새로운 이론이 있나 학습할 겸 강의 수강하고, 완강까지 했습니다. 강의를 들으며 궁금했던 점이 있습니다. 보통 redis-cli 환경에서 명령어를 치는 일이 많이 있는지 궁금합니다.Springboot 백엔드 개발 중 Redis를 도입해서 사용한다고 하면, 애플리케이션 단에서만 활용하고, cli환경에서 사용하는 일도 많이 있을까요!?
-
해결됨백엔드 6주 실전 미션과 1:1 피드백으로 완성하는 합격 포트폴리오
오타 발견 제보
3주차 수업 자료(notion) category 안에 Training 이 없습니다. 글 내용 흐름에 따라 Training 대신 Fiction 으로 수정하면 될 것 같습니다 🙂 아래 GROUP BY 를 통해서도 없다는 것을 다시 한 번 확인할 수 있습니다. GROUP BY 조회 결과
-
미해결실습으로 배우는 선착순 이벤트 시스템
흐름정리 제가 이해한게 맞나요?
쿠폰 100개를 발급해야하고 이 개수는 100을 넘어가면 안됨-> java synchronized락의 경우 쿠폰 발급을 담당하는 서버가 여러개라면 db에 쿠폰 저장(개수 업데이트) 요청이 동시에 올수 있으므로 race condition 발생-> redis의 경우 여러 서버가 쿠폰 발급 요청을 보내도 싱글 스레드이므로 쿠폰 발급 수를 정확히 100개로 맞출 수 있음. 하지만 예제의 경우 threadpool을 사용하여 각 스레드별로 쿠폰 발급이 가능하면 바로 db에 쿠폰 저장하는 로직이라서 db 부하가 심함-> kafka를 도입하여 스레드들이 쿠폰 발급 메세지만 카프카로 보내고 카프카 컨슈머가 이 메세지를 처리하여 db에 쿠폰을 저장함. 컨슈머 그룹에 속한 컨슈머는 현재 하나이므로 메세지 1개씩을 처리함 따라서 db에 부하가 심하지 않음.
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
조회수 정보를 어디서 저장할지 고민입니다.
안녕하세요. 강의 너무 잘 듣고 제 프로젝트에 필요한 부분들로 리팩토링 하면서 MSA를 처음 공부하려 했습니다!먼저 제 프로젝트는 거의 똑같은 구조로 게시글이 있습니다. 2가지의 질문이 있습니다. (1) 정보를 취합하기 위해 동기로 API호출을 한다는 것은 장애 전파가 된다고 이해하고 있습니다. 그렇다면 저희 예시에서도 Article-read에서 조회수는 api호출을 통해 받기로 했습니다. 그렇다면 어느정도의 장애 전파는 허용한다고 받아들여집니다. 실제 서비스에서도 여러 정보를 취합해서 줘야하는 경우가 많을텐데 API를 통해 정보를 가져오는것이 절대 안되나요? 아니면 종종 허용하기도 하나요? (2) CQRS의 Query(질의)부분은 데이터 수정이 없어야 한다 이해했습니다. 그런데 데이터를 수정해도 되나요?예를 들어 제가 게시글 상세 조회를 게시글 모듈에서 분리하려고 합니다. 그런데 게시글 상세 조회를 하게되면 조회수가 올라갑니다. 따라서 게시글 상세조회 발생 -> 조회수 증가 이벤트 발생 ->조회수 증가 이런 식으로 구상을 했습니다. 이러한 질의 부분 모듈에서 데이터를 수정하게 만드는 이벤트가 발생해도 괜찮을지 여쭤봅니다!!
-
해결됨6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법
hot key 문제를 방지하기 위해 적용한 DCL의 재시도 횟수와 랜덤 지터에 대한 질문입니다
1. 현재 학습 진도6챕터를 모두 끝낸 후 해당 내용을 직접 프로젝트에 적용하고 있습니다. hot key 문제를 해결하기 위해 DCL을 적용하여 중복 DB 접근을 방지할 수 있습니다. 2. 어려움을 겪는 부분현재 프로젝트는 외부 API인 LLM을 통해 경제 요약 리포트를 만들어주는 서비스입니다.이때 리포트 생성 시 60s~120s가 소요되어 만들어진 리포트들을 캐싱해놓고 사용하려 합니다.레디스 리모트 캐시를 적용하려 하는데, hot key 문제를 방지하기 위해 락을 획득한 후에도 반드시 캐시를 한 번 더 확인하는 방식을 적용 즉 DCL 을 적용하려 하는데, 이때 락을 획득하지 못한 애들은 일정 시간후에 다시 락 획득을 시도해야 합니다. 그런데 지금 디비에 접근하고 LLM을 통해 리포트를 생성하는 task가 넉넉하게 1-2분정도 걸리는데, 이 때문에 락 획득 재시도 간격을 너무 길게 잡아버리면 ux가 저하되고 그렇다고 너무 짧게 잡으면 요청 실패가 빈번하게 발생하게 됩니다. 그렇다고 또 시도횟수를 늘리면 또 서비스에 부하가 발생할 수 있을 것 같고 또 시도횟수를 짧게 하면 데이터를 받아오지 못하는 상황이 빈번하게 발생하여 고민중입니다. 3. 시도해보신 내용현재는 재시도 횟수 1000번에 랜덤 지터 200~300ms로 잡았는데 혹시 이런 경우에는 어떻게 해결하면 좋을지 인사이트 부탁드립니다.https://github.com/Dockerel/DataStreams-BE/pull/2/files#diff-8865d84ecad53d37da0cb105068fad66b3f780ff3a9d11b61df86287646e51c3작성한 코드 깃허브 링크를 첨부해드립니다. 감사합니다.
-
해결됨6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법
Intellij Profiler 실행 시에 Redis 연결 문제
Intellij Profiler로 서버 실행 시 Redis 연결 문제로 서버 실행이 안되서 이 부분을 localhost로 바꾸고 실행시키니 잘 실행되었습니다.
-
해결됨백엔드 6주 실전 미션과 1:1 피드백으로 완성하는 합격 포트폴리오
gitbub action로 push후 수업진행이 멈췄습니다
깃액션으로 배포자동화 작업후 퍼블릭ip:8080/api/chapter2/boards에 접속해도 똑같이 여전히 거부가 되고있고 이전까지 진행과정에서 빌드실패라던지 연결실패같은 오류메시지도 뜬적이없어 어느부분이 잘못된건지 찾기가 쉽지않습니다 ec2와 rds도 잘만들어졌고 dbeaver에 aws rds주소로 연결도 잘된상태에 use portfolio까지는 실행이 되는데 테이블이 생성되있질 않아 mock데이터 삽입도 진행되질않습니다
-
해결됨6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법
main.tf EC2 인스턴스.타입 수정 필요
terraform apply 명령어로 실행 중 오류가 발생했는데 t2.micro 로는 인스턴스 생성이 안되어서 찾아보니 t3.micro 가 가능해서 변경하여 생성하였습니다.
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
카운팅 조회 시 질문
안녕하세요 질문있습니다.만약 게시글 전체 조회할 때 게시글 마다 좋아요 수도 함께 기재하려고 하면 게시글 조회 할 때 마다 articleId에 맞는 좋아요 수 정보도 함께 필요하잖아요?현재 게시글 서버와 좋아요 서버가 다른 환경을 고려할 때 그러면 게시글 조회할 때 마다 좋아요 서버로의 api요청이 불가피할 거 같은데 이 경우 조회 성능이 당연히 안좋게 나올 수 밖에 없다고 생각합니다. 비정규화로 좋아요수를 게시글 테이블에 붙여서 단일 서버로의 요청을 만들어줄려고 해도 말씀하신 한계 때문에 안될 거 같구요.만약 게시글 전체 조회 시에 게시글과 게시글의 좋아요수가 반드시 제공되어야 한다면 제가 생각한 성능 저하 포인트가 타당한가요? 만약 타당하다면 어떻게 개선할 수 있을까요? 인기게시글만 따로 추려서 레디스로 메모리를 활용해야할까요?
-
해결됨6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법
테라폼 설정 파일
강의에서는 테라폼 설정 파일인 main.tf 를 미리 작성해 두신거고 실무에서는 당연히 필요한 내용을 직접 작성해야 하는것이지요?
-
해결됨6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법
AWS 실습시 비용
AWS를 이용한 모니터링 수업에서비용이 20~30 달러 정도 나온다고 하셨는데프리티어를 이용해도 요금이 부과될까요?
-
해결됨6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법
테이블 의존 질문입니다
안녕하세요 딩코딩코님28. 3-10. 실제 예시 코드로 작성하기 -2 강의 16:30초에서 order_items가ch3_improved_orders 에 의존하도록 구조가 변경이 되어야 할 것이라고 하셨는데ch3_improved_orders가 items를 통해 데이터가 생성이 되는것이므로 ch3_improved_orders 가 items에 의존 되는것이 아닌가요??items가 왜 ordrs에 의존인건지 이해가 가지 않습니다 ㅜㅜ..
-
미해결비전공자도 이해할 수 있는 Redis 입문/실전 (조회 성능 최적화편)
redis 사용으로 인한 비용
안녕하세요. redis에 대해 궁금한점이 있어서 문의드립니다! redis는 고객사에서 사용 허락을 받지 않는 한 사용하면 안 되나요?추가로 비용이 들까요? 선배님이 비용이 든다고 하더라고요 저는중복 로그인이나 조회수 관련해서 사용을 해보려고 했었는데요.그냥 기존 방식대로 사용하라고 하시더라고요. 이런 고민 없이 개발을 해오다보니 문득 궁금해서 여쭤봤습니다!
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
게시글 페이징시 게시글 수
안녕하세요!BoardArticleCount 데이터를 추가로 관리하면서 게시글 수 조회 성능이 개선돼 PageLimitCalculator를 통한 최적화 방식을 더 이상 사용하지 않아도 될 것같은데 혹시 맞을까요??
-
미해결레디스의 모든 것 (feat. Node.js)
강의 소리가 너무 작아요.. 사운드 편집 불가하신지요?
강의가 너무 작아서 스피커 크게 켜놓고 듣다가..카톡 오면 소리에 깜짝깜짝 놀라네요..ㅎ_ㅎ;;;;;;;혹시 수고스러우시겠지만 사운드 편집 안되나요? ㅡ,.ㅡ;;
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
ArticleQueryModel 질문
안녕하세요. 강의 잘 수강하고 있습니다 : )다름이 아니라 게시글 같은 경우에 레디스에 저장해서 조회할 때 빠르게 조회하는 건 이해했습니다. 그런데 ArticleQueryModel에 들어가있는 요소들을 보니까 댓글같은 경우에는 댓글 수만 넣어주더라고요. 프런트에서 게시글을 클릭했을 때 게시글에 저장되어 있는 댓글 데이터들을 조회하려면 comment-service로 요청을 해야하는 거죠??ArticleQueryModel은 순수하게 게시글을 위한 용도인거고 댓글들 같은 경우에는 comment-service로 요청을 해야하는 것 같은데 댓글들은 redis에 저장하지 않고 rdb에서 조회를 해야하는건가요??