Spring AI 메모리: 대화 맥락 유지부터 장기 기억(AutoMemoryTools)까지
Spring AI 메모리를 단기 기억(ChatMemory)부터 파일 기반 장기 기억(AutoMemoryTools)까지 정리한다. conversationId 설정, 윈도우 eviction, 영속화, VectorStore 대안과 전략 비교까지 실무 코드로 다룬다.
배움의 즐거움, 나눔의 가치를 실천하는 DevLog
Spring AI 메모리를 단기 기억(ChatMemory)부터 파일 기반 장기 기억(AutoMemoryTools)까지 정리한다. conversationId 설정, 윈도우 eviction, 영속화, VectorStore 대안과 전략 비교까지 실무 코드로 다룬다.
Spring Batch 파티셔닝은 큰 배치를 ID 구간 같은 조각으로 쪼개 여러 스레드가 동시에 처리하게 만든다. 단일 청크로 70초 걸리던 1,000만 행 잡이 파티셔닝으로 어떻게 줄어드는지, gridSize를 무작정 늘리면 왜 다시 느려지는지, 파티션이 영원히 멈추는 함정은 무엇인지 코드와 실측으로 정리한다.
SAML 2.0의 구성요소(SP·IdP)와 SSO 흐름, assertion과 metadata의 역할, OAuth와의 차이를 처음 배우는 눈높이로 정리하고 Spring Boot로 SAML 로그인을 직접 구현·실행한다.
OAuth 2.0의 구성요소와 전체 인가 흐름, access·refresh·id token의 차이, OIDC와의 관계를 정리하고 Spring Boot로 구글 로그인을 실제로 구현한다.
MSA는 과하고 모놀리스는 지저분할 때, Spring Modulith로 하나의 애플리케이션 안에 모듈 경계를 세우는 법을 정리한다. 모듈 정의·경계 검증·이벤트 통신·문서 자동화를 실무 순서로 다룬다.
Spring Boot Actuator로 서비스의 상태와 메트릭을 밖으로 드러내고, Micrometer 커스텀 메트릭과 Prometheus·Grafana까지 연결하는 실무 관측성 구축 과정을 정리한다.
Spring Boot에서 Apache Kafka를 붙이는 전 과정을 정리한다. 의존성과 로컬 브로커부터 Producer, Consumer, JSON 직렬화, 재시도와 DLT, 테스트까지 실무 순서로 다룬다.
Hibernate 2차 캐시로 세션을 넘어 엔티티를 캐싱해 반복 조회의 DB 부하를 줄이는 방법을 설정부터 전략 선택, 쿼리 캐시 함정까지 정리한다.
Spring RestClient의 기본 사용법부터 쿼리 파라미터·요청 바디·컬렉션 응답·인증 헤더·타임아웃·로깅·테스트까지, 실무에서 실제로 부딪히는 지점을 코드로 정리한다.
ApplicationStartup과 JFR로 Spring Boot 시작 시간을 측정하고, 지연 초기화와 CDS로 실제 기동 속도를 최대 54%까지 줄이는 방법을 정리한다.