Project9 [Project] Redis(Elasticache Redis)로 RefreshToken을 관리하기 서론 팅클(Tincle)이라는 프로젝트에서 JWT를 통해 프론트와 소통을 했는데, 이 프로젝트는 친구기반 SNS 서비스입니다. 만약 사용하게 된다면 한번 접속할 때 '짧은 시간이 아닌 긴 시간동안 머무르지 않을까?' 판단했습니다. 때문에 토큰 재발급하는 횟수가 많다고 생각했습니다. 그에 따른 시간 비용을 줄이고자 Redis로 RefreshToken을 관리한 경험을 얘기하려 합니다. 데이터베이스가 있는데 왜 Redis를 사용할까? Redis는 인메모리 캐시로 메모리에서 데이터를 처리합니다. Client가 필요로 하는 정보가 만약 DB에 존재하게 된다면 Disk 영역까지 가야하기 때문에 시간이 오래 걸리게 됩니다. 반면 Redis에 정보가 존재하게 된다면 Memory 영역에서 처리 후, 값을 반환하게 되어 .. 2023. 11. 25. Apache JMeter란? + 부하 테스트, 사용법 Apache Jmeter를 접하게 된 이유 4개월 정도 진행해오던 복쟉복쟉이라는 프로젝트가 이제 배포를 앞두고 있다. 배포를 앞두기 전에 성능 저하 (ex. JPA N+1문제를 일으키는 것들, 현재 EC2가 어느정도까지 수용가능한지) 를 체크하기 위해서 접하게 되었다. 제대로 체크해보기전 Apache Jmeter의 설치 과정과 사용법을 알아보려고 한다. Apache Jmeter Apache Jmeter는 서버가 제공하는 성능 및 부하를 측정할 수 있는 테스트 도구이다. JMeter는 순수 Java 애플리케이션 오픈 소스이며 서버나 네트워크 또는 개체에 대해 과부하를 시뮬레이션하여 강도를 테스트하거나 다양한 부하 유형에서 전체 성능을 분석하는 데 사용할 수 있다. 비슷한 부하테스트 도구로는 Apache B.. 2023. 8. 22. [Project] @Transactional + CustomException을 Controll하자 Project 하던 중, 정상적인 값이 조회되는데 DB값은 안바뀌는 상황이 있었다. 그에 대해 이야기 해보려고 한다. 전제 안드로이드 측에서 kakao accessToken을 주면 DB에 kakaoUser가 이미 존재 -> 바로 서버 accessToken 및 refreshToken 발급 (httpstatus 200 내려줌) DB에 kakaoUser가 존재 x 즉 첫 방문 User -> signToken을 발급해서 닉네임, 이메일 등 부가 정보를 입력하는 화면으로 이동 후, 앞서 발급한 signToken + 부가 정보를 받아서 회원 가입 (httpstatus 404 내려줌 -> 즉 exception 터트림) + 추가적으로 만약 회원 탈퇴를 할 시, 중복 가입 방지를 위해 탈퇴한 회원은 한달 동안 가입을 못.. 2023. 8. 8. 이전 1 2 다음