| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 |
- 기술부채
- 무이네투어
- Docker
- 핑크성당
- Redis
- 양꼬치
- 무이네 사막투어
- 한빛미디어
- 밤리단길 맛집
- 포케맛집
- 호치민여행
- 합정 맛집
- 혼공네트
- 혼공컴운
- 자료구조
- 혼공학습단12기
- 베트남여행
- 합정포케
- 호치민 무이네
- 연어포케
- 혼공학습단
- 혼공컴운11기
- 회고
- 호치민
- OS
- 호치민 여행
- 니코호텔
- 합정맛집
- 호치민 맛집
- cs
- Today
- Total
목록Redis (2)
경험은 나의 것
Spring PSA가 주는 편리함에 간과한 본질을 마주했다.‘설정 한 줄’로 끝났던 세션이, 동시성이라는 점 때문에 어떻게 변하는지 기록하려고 한다.1. 편한 PSA & 착각서비스를 확장하며 WAS 간 세션 정합성 문제를 해결해야 했다.Spring은 spring.session.store-type=redis라는 설정 한 줄로 복잡한 과정을 추상화 해주었다.이러한 설정이 스프링이 말하는 PSA의 기능이겠지만, 솔직히 그때는 '참 편하다' 하고 대수롭지 않게 넘겼다.하지만 운영 환경에서는 예상치 못한 동작을 확인할 수 있었다.비즈니스 로직을 전혀 수정하지 않아도 모든 것이 해결되었다고 생각했고, 차후에 설계 결과로 인해 데이터가 유실되는 현상을 볼 수 있었다.2. 분석: Redis Hash와 Spring의 ‘..
1. yml 파일의 설정 한 줄로 바뀌는 세션 위치spring: session: store-type: redis # 이 한 줄이 핵심! redis: namespace: spring:session data: redis: host: localhost port: 6379현재 진행 중인 프로젝트에서 무중단 배포(Blue/Green) 환경 구축과 세션 정합성 문제를 해결하기 위해 Redis를 도입하게 되었다.build.gradle에 Spring Session Data Redis 의존성을 추가하고, application.yml에 간단한 설정 몇 줄을 추가했다. 기존 비즈니스 로직 코드를 단 한 줄도 수정하지 않았는데, 세션 저장소가 Tomcat 메모리에서 Redis로..