개발 일지/Maru-egg (입시 정보 안내 RAG 챗봇)5 DB Connection 점유 줄이기: OSIV와 단계적 CQRS 그리고 트랜잭션 설계 들어가기 전…문제와 개선 방향을 다음과 같이 정리하였습니다.RAG(Retrieval-Augmented Generation) 방식을 사용하는 챗봇 프로젝트에서 데이터 서버 요청 시간 지연으로 인해 리소스 점유 시간이 길어지는 문제가 발생하고 있습니다.RAG 서버에 요청한 후, 해당 답변을 저장하는 로직이 실행되면서 트랜잭션 지속 시간이 길어지고, 이로 인해 DB 커넥션 리소스 낭비가 초래되고 있습니다.이러한 문제는 특히 입시철에 예상되는 약 3만 명의 지원생 중 수백에서 수천 명에 이르는 사용자 트래픽을 처리하는 데 DB Connection 부족(대표적인 오류: CannotCreateTransactionException)으로 이어질 가능성이 있습니다.Connection Pool 수 증가, Timeout 설.. 2024. 11. 23. Spring, BE | Apache Tomcat 바로 알기 + 웹서버(Nginx와 Apache 비교)를 두는 이유 들어가기 전..프로젝트를 배포하면서 nginx라는 단어가 많이 보였고, github 프로젝트를 염탐(?) 했을 때도 심심치 않게 보였던 단어라 한번 찾아보고 공부하는 시간을 가졌습니다.결론을 먼저 말하자면, 일전의 프로젝트인 Fingoo에서 적용했던 ALB와 같이 트래픽을 관리하는 로드 밸런서의 역할을 하게 됩니다.그러나 ALB와의 여러 차이가 존재하며, 이번 Maru-egg라는 프로젝트에서는 비용 절감에 힘써야했기 때문에 ALB 대신 Nginx로 결정했습니다.nginx가 뭐지?간단히 nginx는 Apache와 같은 웹서버 정도로 알고 있었는데, 어떤 기능을 가지고 있고 어떤 차이점을 가지고 있는지 자세히 알아보고자 합니다.먼저 공식 문서(https://nginx.org/en/) 참고했습니다. 공식 문서.. 2024. 8. 13. Java & Spring | Swagger 커스텀 ApiResponse 어노테이션 사용기(+ Reflection을 통한 문제 해결) 💎 작성된 글의 프로젝트https://github.com/MARU-EGG/MARU_EGG_BE GitHub - MARU-EGG/MARU_EGG_BE: 명지대학교 RAG기반 AI 입학 문의 챗봇 - 백엔드명지대학교 RAG기반 AI 입학 문의 챗봇 - 백엔드. Contribute to MARU-EGG/MARU_EGG_BE development by creating an account on GitHub.github.com 💎 작성된 글의 Pull Requesthttps://github.com/MARU-EGG/MARU_EGG_BE/pull/42 [feat] Swagger 커스텀 ApiResponse 어노테이션 적용 by Hoya324 · Pull Request #42 · MARU-EGG/MARU_EGG_BE.. 2024. 7. 17. 프로젝트 & BDP | Java(Spring)에서 TF-IDF와 Cosine Similarity를 활용한 문장간 유사도 측정 방법 💎 작성된 글의 프로젝트https://github.com/MARU-EGG/MARU_EGG_BE GitHub - MARU-EGG/MARU_EGG_BEContribute to MARU-EGG/MARU_EGG_BE development by creating an account on GitHub.github.com 🚪 들어가기 전에..지난 번에는 Elasticsearch를 사용하지 않게 된 이유와 이를 해결하기 위해 Full-Text Index를 사용한 이유, 앞으로 개선점에 대해 다뤘습니다. 🎈 저번 블로그 보기https://hoya324.tistory.com/56 프로젝트 | 텍스트 유사도 검색 어떻게 구현할까?(1) - Elasticsearch를 안 쓴 이유와 MySQL Full Text Index?.. 2024. 7. 7. 프로젝트 & DB | MySQL의 Full Text Index와 TF-IDF, Cosine Similarity로 DB 내 유사한 Text 추출하기(without Elasticsearch) 💎 작성된 글의 프로젝트https://github.com/MARU-EGG/MARU_EGG_BE GitHub - MARU-EGG/MARU_EGG_BEContribute to MARU-EGG/MARU_EGG_BE development by creating an account on GitHub.github.com 🚪 들어가기 전에..프로젝트를 진행하면서 어떤 질문이 들어왔을 때 이전의 질문과 같은 질문인지 판단하는 프로세스가 필요했습니다.이번에는 이 과정에서 어떤 삽질(?)을 했는지 기록해보겠습니다.이번에는 Elasticsearch를 사용하지 않게 된 이유와 이를 해결하기 위해 어떤 고민을 했는지 정리해보았습니다.다음에는 MySQL Full-Text Search와 Apache Class TFIDFSimil.. 2024. 7. 7. 이전 1 다음