세션

    테스트 시, Redis Session 으로 인해 생긴 문제 해결

    문제 상황 현재 진행 중인 프로젝트에서, Redis를 세션 서버로 사용해 세션을 관리하고 있습니다. 테스트시에는 Redis를 이용한 세션관리가 아닌, spring 에서 기본으로 제공해주는 세션 관리 방법을 통해 세션 관리를 진행하려 했으나, 지속적으로 세션 관리 시, Redis가 사용되는 문제가 발생했습니다. org.springframework.data.redis.RedisConnectionFailureException: Unable to connect to Redis at 그로 인해 위와 같은 예외가 발생하게 되었습니다. 해당 예외는 레디스 연결에 실패했다는 예외 입니다.(테스트 시에는, 레디스가 구동중이지 않기 때문에 예외가 발생하는게 당연합니다.) 원인 분석 테스트 시에, 레디스 커넥션 관련 예외가..

    인증 방식으로 세션 VS 토큰 어떤걸 선택해야 할까?

    개요 진행 중인 프로젝트에서 사용자 로그인 과정 중 사용자 인증 방식으로 어떤 방법이 있는지, 각각의 인증 방법의 장단점은 무엇인지에 대해 알아보고, 프로젝트에는 어떤 걸 적용하는 게 좋을지에 대해 얘기해 보겠습니다. 인증이란? 인증 방식을 설명하기에 앞서 간단하게 인증이란 무엇인지에 대해 설명하겠습니다. 인증은 프로젝트를 예로 들어 굿즈 포유 시스템이 제공하는 서비스에 접근하기 위해 사용자의 정보를 확인하는 과정입니다. 세션 인증 방식 세션 기반의 인증 방식은 오랫동안 웹 애플리케이션의 기본 인증 방식이었습니다. 세션 인증 방식을 사용하고, 세션을 데이터베이스에 저장하는 방식을 사용하면 사용자가 로그인을 요청하면 사용자의 로그인 세션이 서버에 의해 생성됩니다. 그리고 이 로그인 세션 정보가 데이터베이스..

    다중 서버 환경에서 사용자 로그인 구현시 세션 관리 방법으로 어떤걸 선택해야할까?

    이번 포스팅에서는 현재 프로젝트를 시작하면서 선택한 서버 확장 방식인 Scale Out 방식에서, 로드 밸런서를 통해 부하 분산 처리를 함에 따라 생기는 문제점 중 하나인 세션 관리에 대해 어떻게 해결할 것인지, 그리고 그와 관련된 내용들에 대해 포스팅을 통해 알아보려 합니다. 세션 관리 세션 관리(Session Management)를 왜 해야 할까요? 현재 저는 진행 중인 Goods-For-You 프로젝트에서 회원 로그인 기능을 구현하려 합니다. 회원 로그인 기능은 다음과 같은 과정으로 진행될 것으로 생각이 됩니다.(Goods-For-You 프로젝트는 대용량 트래픽을 받는 상황에서, 서버의 성능과 고가용성을 생각하면서 진행되고 있는 프로젝트입니다.) 사용자가 회원가입 시 입력한 아이디, 비밀번호를 입력..