Spring7 Spring AI 란? 최근 ChatGPT, Claude, Gemini와 같은 생성형 AI가 활발히 활용되면서, 개발자 사이에서도 AI API를 빠르고 쉽게 연동하는 방법에 대한 관심이 높아지고 있다.Spring 생태계에서도 이에 발맞춰 등장한 것이 바로 Spring AI.이번 글에서는 Spring AI가 무엇인지, 어떤 기능을 제공하는지, 그리고 어떻게 활용할 수 있는지 정리해보자. 1. Spring AI란?Spring 프로젝트에서 공식적으로 제공하는 생성형 AI 연동 프레임워크.Spring Boot 기반 애플리케이션에서 OpenAI, Azure OpenAI, Hugging Face, Ollama, Amazon Bedrock 등 다양한 AI API와 손쉽게 연동할 수 있도록 도와준다. "Spring 환경에서 ChatGPT 같.. 2025. 5. 25. Spring boot cors 설정시 주의점 CorsConfiguration 설정시 setAllowedOriginPatterns을 주의해야 한다. 해당값에 *을 주게되면 포트, 도메인, 프로토콜중 2개이상 같다면 동일 취급해버린다. 정확한 내용은 spring doc에서 확인 가능하다. https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/cors/CorsConfiguration.html#setAllowedOriginPatterns(java.util.List) CorsConfiguration (Spring Framework 6.2.0 API)Set the HTTP methods to allow, for example, "GET", "POST", .. 2024. 12. 8. Cache 사용시 Thundering herd 문제 해결하기 Thundering herd 문제란 다음과 같이 정의된 문제를 말한다. " 많은 수의 프로세스 또는 스레드가 해당 이벤트가 발생할 때 깨어나지만 하나의 프로세스만 이벤트를 처리할 수 있을 때 발생하는 문제." 이런 경우가 Cache를 사용할 때 언제 생길 수 있을까? 바로 캐시가 만료되었을때 우연히 많은 수의 요청이 한번에 온다면 Thundering herd 문제가 발생할 수 있다. 최악의 경우에 서버가 다운되는 일이 생길 수 있다. 아래와 같은 이미지를 예시로 이해하면 된다. 캐시가 비었을때 한번에 모든 요청이 왔고, 서버는 동시에 N개의 요청을 처리하게 된다. 이러한 문제를 해결하려면 2가지 전략을 취할 수 있다. 첫번째로 조회를 할때 캐시가 비었는지 확인하고, 비었다면 lock을 통해 조회후 캐시.. 2024. 7. 29. Spring Security Config hasRole 사용시 주의점 현재 프로젝트에 모니터링툴로 프로메테우스를 사용중이다. role이 ADMIN인 사용자만 사용 가능하게 하려고 프로메테우스 설정을 다음과 같이 적용하였다. # my global configglobal: scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute. evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute. # scrape_timeout is set to the global default (10s).# Alertmanager configurationalerting: alertm.. 2024. 6. 2. 이전 1 2 다음