MSA는 정말 필요했을까?
·
Project/WhiteMonday
모놀리스 아키텍처란? 모놀리스(Monolith) 아키텍처는 애플리케이션의 모든 기능을 하나의 코드베이스, 하나의 프로세스 안에서 개발·배포하는 방식입니다.예를 들어 쇼핑몰이라면, 회원가입부터 상품 등록, 주문, 결제까지 모든 기능이 하나의 프로젝트 안에 포함됩니다.유지보수가 쉽고, 초기 개발 속도가 빠르며,로컬 환경이나 배포 환경 구성도 단순하다는 장점이 있습니다.그래서 개인이나 소규모 프로젝트에서는 모놀리스 구조가 흔히 선택됩니다. 모놀리스 아키텍처로도 충분하지 않았을까? WhiteMonday를 설계하면서 처음 떠올린 고민은 이것이었습니다.“혼자 만드는 쇼핑몰에 MSA까지 필요할까?”“모놀리스 구조로도 충분히 만들 수 있는 거 아닌가?” 실제로 초기에 전체 기능을 한 프로젝트 내에서 처리하는 모놀리스..
[Spring] 리프래쉬 토큰 vs 블랙리스트 방식
·
Project/WhiteMonday
리프레시 토큰 삭제 방식 로그아웃 시 서버에서 사용자의 리프레시 토큰을 삭제하여 더 이상 새로운 액세스 토큰(access token)을 발급받을 수 없게 만드는 방식을 말합니다.클라이언트 측에서 리프레시 토큰을 폐기하고 서버에서도 이를 무효화 처리합니다.리프레시 토큰의 장점간단한 구현:서버에서 토큰을 단순히 삭제하면 되므로 구현이 상대적으로 쉽습니다.효율성:별도의 추가 데이터베이스(블랙리스트)를 유지할 필요가 없습니다.빠른 무효화:토큰이 삭제되면 즉시 무효화되어 추가적인 보안 우려가 적습니다. 리프레시 토큰의 단점 세션 관리 필요:서버에서 세션과 연계된 리프레시 토큰을 관리해야 합니다. 따라서 서버 부담이 증가할 수 있습니다.토큰 분실 문제:리프레시 토큰을 클라이언트가 잃어버리면 서버는 이를 즉시 알 수..