안녕하세요. 강의 너무 잘 듣고 제 프로젝트에 필요한 부분들로 리팩토링 하면서 MSA를 처음 공부하려 했습니다! 먼저 제 프로젝트는 거의 똑같은 구조로 게시글이 있습니다. 2가지의 질문이 있습니다. (1) 정보를 취합하기 위해 동기로 API호출을 한다는 것은 장애 전파가 된다고 이해하고 있습니다. 그렇다면 저희 예시에서도 Article-read에서 조회수는 api호출을 통해 받기로 했습니다. 그렇다면 어느정도의 장애 전파는 허용한다고 받아들여집니다. 실제 서비스에서도 여러 정보를 취합해서 줘야하는 경우가 많을텐데 API를 통해 정보를 가져오는것이 절대 안되나요? 아니면 종종 허용하기도 하나요? (2) CQRS의 Query(질의)부분은 데이터 수정이 없어야 한다 이해했습니다. 그런데 데이터를 수정해도 되나요? 예를 들어 제가 게시글 상세 조회를 게시글 모듈에서 분리하려고 합니다. 그런데 게시글 상세 조회를 하게되면 조회수가 올라갑니다. 따라서 게시글 상세조회 발생 -> 조회수 증가 이벤트 발생 ->조회수 증가 이런 식으로 구상을 했습니다. 이러한 질의 부분 모듈에서 데이터를 수정하게 만드는 이벤트가 발생해도 괜찮을지 여쭤봅니다!!
누구보다 빠르게 배우는 Nginx + Docker + Springboot 서버 무중단 배포
노션 강의자료에서는 # 2. 앱 JAR 파일 복사 COPY *.jar app.jar 이렇게 되어 있는데 강의 영상에서는 COPY build/libs/*.jar app.jar 로 되어 있습니다. 강의 영상이 맞는거 같고, 아무 생각 없이 노션 자료로 복붙하다가 안되서, 둘을 자세히 비교해보니 빌드된 jar 파일 경로를 제대로 명시되지 않은 걸 발견했어요. 노션 파일 수정 부탁드려용
[질문 내용] 안녕하세요, 상속 관계 예제를 따라하다보니 예전부터 궁금했던 단축키가 있습니다. 패키지 내부에 클래스를 생성하면 생성한 클래스 내부에 커서가 잡히는데, 이 커서를 다시 패키지로 가게 하는 단축키가 있을까요? 예를 들면 item이라는 패키지에 cmd+n 을 하면 새로운 클래스 생성 메뉴가 뜨는데, 일반적으로는 클래스를 생성하고 cmd+n을 누르게 되면 커서가 생성한 클래스의 코드에 잡히게 되고 해당 클래스 메뉴(생성자 생성 등)가 뜨게 됩니다. 클래스 생성후 커서를 다시 패키지쪽으로 옮겨서 cmd+n 을 하면 빠르게 여러 클래스를 생성할 수 있을 것 같은데, 혹시 사용하고 계신 단축키가 있다면 말씀주시면 감사드리겠습니다!
누구보다 빠르게 배우는 Nginx + Docker + Springboot 서버 무중단 배포
안녕하세요 무중단 배포 해보려고 강의 열심히 듣고 있는 수강생입니다. 저는 보통 업데이트 엔드포인트 제공할 때, PUT으로만 구현합니다. PATCH를 제공하면, 받아야할 값들이 null인지 아닌지를 다 따지느라 번거롭더라고요. 지식공유자께서는 실무에서도 PUT 보다는 PATCH를 더 많이 사용하시는지 궁금하네요.
현재까지 잘 따라왔는데 href 에서 막혀서 질문드립니다. 현재 네이버의 span class에서 제목은 가져왔습니다. 그런데 href는 윗 단계인 <a>에 있지만 class명이 복사하면 깨져서 나옵니다. 그래서 <a> 에 있는 href를 가져오지 못하고 있습니다. 더 한단계 위인 <div>를 사용해 보았지만 href는 불러오지 못했습니다. +++++++++++++++++++++++++ <div class=“”> <a nocr=“1” href=“…..” <span class=“………”>기사제목</span> </a> ++++++++++++++++++++++++++ 어떤 방법이 있는지 문의드립니다.
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 작성한 코드 깃허브 링크를 첨부해드립니다. 감사합니다.
강좌에서 무중단 배워서 잘 실습했습니다.. ncp나..ec2도 같은 원리일까요? 기존에는 톰캣에서 배포해봤지만.. (war파일 묶어서..) Blue-Green, Rolling Update이것을 좀 깊게 학습하고싶은데 추천해주실만한 학습자료가 있을까요? 또 만약에 리액트나 별도의 프론트를 추가할경우? 서버 3개가 아니라.. 4개가 되는지 궁금합니다.
안녕하세요. MMR 관련 질문이 있습니다. MMR을 retriever로 설정할 때 fetch_k와 k를 같이 설정해주도록 되어 있는데, 여기서 질문입니다. fetch_k를 설정한다는 것 자체가 다양성을 확보하기 위한 MMR과 배치되는 것 아닌가요? => 그냥 전체 문서수를 fetch_k로 하면 되는 것 아닌가요? mmr 알고리즘 or 문서검색을 하는 원리가 잘 이해되지 않습니다. 감사합니다.