
Maven 중앙 저장소에 라이브러리 등록부터 배포까지 알아보겠습니다. 1. Maven 저장소 회원가입 📚먼저, Maven 저장소( https://central.sonatype.com/ )에 회원가입해야 합니다.회원가입이 완료되면 Publish 클릭하여 Namespace를 자동으로 등록해 주는 것을 확인할 수 있습니다. 2. GPG 키 생성 및 다운로드 🕐Maven 중앙 저장소에 배포하려면 GPG 키를 생성하여 라이브러리에 서명해야 합니다.생성하는 이유는 라이브러리의 무결성과 신뢰성을 보장하기 위해 키를 생성해서 서명하기 위함입니다. [ GPG 다운로드 및 설치 ]설치하는 사이트 https://gnupg.org/download/index.html#sec-1-2 클릭하여 자신의 운영체제에 맞는 걸로 ..

1. 문제 배경📚장문 텍스트 요약 기능을 개발하면서 AI 모듈을 활용하게 되었고, 여러 후보 중 OpenAI ChatGPT를 선택했다. 하지만 ChatGPT API에는 요청 제한(Rate Limit)이 있어, 이를 관리하지 않으면 에러가 발생할 위험이 있다.API에는 RPM(분당 요청 수), RPD(일일 요청 수), TPM(분당 토큰 수) 같은 제한이 존재하며, 이 한도를 초과하면 요청이 차단된다. 따라서 요청 제한을 효과적으로 관리하는 방법이 필요했고, 이번 글에서는 이 문제를 어떻게 해결했는지 정리해보았다. 티어별로 API 요청 제한을 보면모델 : gpt-3.5-turboTierRPM (1분 동안 최대 요청 수)RPD (1일 동안 최대 요청 수)TPM (1분 동안 최대 토큰 수)무료320040,00..

이 글에서는 동시에 많은 사용자가 접속하는 상황에도 대응 가능한 "선착순 이벤트" 시스템 설계 경험을 공유해 드리고자 합니다. 기술 스택 : Java 17, Sprint boot 3, Redis, RabbitMQ, AWS, Mysql 8, Pinpoint 3, nGrinder1. 들어가며선착순 이벤트는 무료로 이력서 피드백을 제공하는 사이트에서 이벤트를 진행했습니다. 선착순 이벤트 요구사항은 다음과 같습니다.1. 이벤트 기간 동안, 매일 특정 시간 오픈하며 총 신청 인원을 한정한다. 2. 신청 인원은 당일 정해진 양을 초과해서는 안된다. 3. 신청은 1인당 1번만 신청할 수 있다. 2. 동시성 이슈 문제RDB에 의존하여 수량 체크를 하면, 동시성 이슈로 인하여 선착순 신청 인원이 초과될 위험이 있었습..

API 접근 기록을 저장하는 기능을 맡으면서 Path, QueryString, Referrer, Body 값을 DB에 저장을 한다. HTTP의 주요 값을 갖고 있는 HttpServletRequest 클래스를 통해서 Path, QueryString, Referrer 조회하면 정상적으로 조회가 되지만, Body 조회를 하면 값이 없다고 나온다. 그 이유를 찾아보니 네트워크로부터 들어오는 데이터여서 한 번만 읽을 수 있도록 제한되어 있다고 한다. 개발환경 : Java 11, SpringBoot 2.7.71. 문제 사례public class TestController { @PostMapping("/test") public void test(@RequestBody String body, HttpSer..