Spring 5

Redis HAProxy

이 글에서는 Redis를 안정적으로 적용하기 위한 구성 방식, 특히 Sentinel과 HAProxy를 활용한 고가용성 아키텍처에 대해 단계적으로 알아보려 합니다.들어가기에 앞서, HAProxy가 필요한 이유부터 차근차근 살펴보겠습니다.1. 배경 지식1-1. OSI 7 Layer 1-2. Redis란?인메모리 기반의 고속 Key-Value 저장소(다양한 자료구조를 지원하는 NoSQL DB) 1-3. HAProxy vs Nginx 비교개인적으로 Nginx와 HAProxy의 차이가 궁금해서 찾아보았습니다. 차이점은 아래와 같이 HAProxy와 Nginx 각각이 주로(강점) 역할을 수행하는 곳이 L4, L7로 서로 달랐습니다. 1-4. HAProxy란?먼저, 간단하게 HAProxy는 부하 분산(Load Bala..

Spring 2025.07.08

JVM 메모리 누수 처리 방법

JVM 메모리 누수가 나는 이유와 상황에 대해 작성해 보려고 한다.먼저, JVM의 구조, 동작 방식 등을 알아보고 마지막에 상황을 가정하고 테스트 해볼 예정이다.1. JVM 동작 방식1. 프로그램 실행시 JVM은 OS로부터 메모리를 할당받는다.2. 자바 컴파일러(javac)가 소스코드(.java) -> 바이트 코드(.class) 컴파일3. Class Loader는 동적 로딩을 통해 필요한 클래스들을 로딩 및 링크 하여 Runtime Data Area(실질적인 메모리를 할당 받아 관리하는 영역)에 올린다.4. Runtime Data Area에 로딩 된 바이트 코드는 Execution Engine을 통해 실제 기계어로 변환(인터프리터, JIT)4-1. Execution Engine에 의해 Garbage C..

Spring 2025.06.28

Spring Security 6 - (2)

InMemoryUserDetailsManager🔘 withDefaultPasswordEncoder 방식 🔘 PasswordEncorder 방식 🔹 User Management (사용자 관리 Interface)✔️ UserDetailsService (인터페이스)목적: 특정 사용자의 정보를 로드하는 핵심 인터페이스입니다.메서드: loadUserByUsername(String username)설명: 사용자 이름을 기반으로 사용자의 세부 정보를 로드합니다. 일반적으로 인증 과정에서 사용됩니다.✔️ UserDetailsManager (인터페이스)목적: UserDetailsService의 확장으로, 새 사용자를 생성하고 기존 사용자를 업데이트하는 기능을 제공합니다.메서드:createUser(UserDetail..

Spring/Security 2024.09.18

Spring Security 6 - (1)

Spring Security Internal Flow1️⃣ STEP 1: (사용자가 자격 증명 입력)사용자가 로그인을 위해 자격 증명(예: 사용자 이름과 비밀번호)을 제출합니다.2️⃣ STEP 2: (Spring Security Filters - Authentication / 스프링 보안 필터 - 인증)자격 증명이 포함된 요청이 스프링 보안의 필터 체인에 의해 가로채져 인증 프로세스가 시작됩니다.2️⃣ STEP 3: (Authentication Manager / 인증 관리자)AuthenticationManager가 인증 프로세스를 관리하며, 올바른 인증 제공자(AuthenticationProvider)로 요청을 전달합니다.4️⃣ STEP 4: (Authentication Providers / 인증 제공자..

Spring/Security 2024.09.18

01. 스프링 프레임워크란?

1.1 프레임워크란? 소프트웨어나 어플리케이션 개발을 간단하게 해주는 뼈대입니다. 1.2 프레임워크의 장단점 장점 - 프레임워크가 개발에 필요한 최소한의 기능을 제공합니다. - 시간과 비용을 절약할수 있습니다. 단점 - 개발에 사용되는 해당 프레임워크 고유의 사용법에 대한 이해가 필요합니다. 1.3 스프링 프레임워크란? 자바 개발 환경에서 사용되는 프레임워크입니다. 개발을 편하게 할 수 있게 여러가지 기능을 제공합니다. Spring Boot : 스프링 애플리케이션을 복잡한 설정없이 빠르게 작성하는 기능을 제공합니다. Spring Project - Spring Data : 데이터 접근에 관한 기능을 제공합니다. - Spring MVC : 웹 어플리케이션을 간단하게 생성하는 기능을 제공합니다. - Sprin..

Spring 2023.06.25