본문 바로가기

분류 전체보기

(23)
Redis Replication ( Cluster ) 🏛️ Redis ClusterRedis Cluster를 통해 Replication 구현🎯 목적고가용성 분산 시스템 구현Redis Cluster를 활용한 데이터 분산 저장 및 자동 장애 복구 시스템 구축Master-Slave 구조의 Replication을 통한 데이터 안정성 확보Spring Data Redis를 활용한 효율적인 데이터 접근 계층 구현기술적 이해도 향상Redis Cluster의 데이터 분산 및 Failover 메커니즘 학습분산 시스템에서의 데이터 일관성과 가용성 보장 방식 이해Spring Boot와 Redis 통합 아키텍처 설계 및 구현📝 프로젝트 설명1️⃣ 프로젝트 기술 스택구분기술버전/설명BackendJava17 Spring Boot Data RedisRedis 연동을 위한 Spri..
Spring Cache + Redis Cache 🌊 Spring Cache + Redis Cache[!IMPORTANT]모든 마크다운 파일은 직접 본인이 작성하였습니다.📌 개요Spring Boot Starter Cache와 Redis를 활용한 캐시 전략 구현 및 성능 테스트 결과를 공유하고,나에 생각을 공유🏗 아키텍처오늘은 Spring Boot Starter Cache + Redis 를 이용한 캐시 전략을 알아보았다.동작 프로세스Client가 API 서버에 데이터 요청Redis Server에서 캐시 확인Cache Hit 시 DB 접근 없이 즉시 응답💡 캐시란?자주 사용하는 데이터나 값을 미리 복사해 놓는 임시 저장소캐시를 사용함으로써 얻을 수 있는 효율자주 접근하는 데이터를 메모리에 임시 저장함으로써 데이터베이스 쿼리 부하를 줄이고 응답 시간을..
Multicasting Operator - API 🌟 Reactor Practice: Multicasting 🌟🎯 Table of Contents연산자설명🔄 Publish하나의 소스를 여러 구독자와 공유🌊 RefCount구독자 수에 따른 동적 실행 관리🔥 AutoConnect첫 구독 시 자동으로 소스에 연결🔗 Cache소스의 결과를 캐싱하여 재사용--- Publish: 구독자 공유의 시작 🔄✨ 주요 특징하나의 소스를 여러 구독자와 공유Cold 스트림을 Hot 스트림으로 변환구독자 간 데이터 동기화 가능💡 사용 사례실시간 데이터 브로드캐스팅여러 컴포넌트 간 데이터 공유리소스 집약적인 작업 결과 공유📝 예시 상황주식 시세 정보 실시간 배포센서 데이터의 다중 처리대규모 계산 결과의 공유RefCount: 구독자 기반 실행 제어 🌊✨ 주요 특..
Sequence Seperate Operator - API 🌟 Reactor Practice: Sequence Seperate 🌟🎯 Table of Contents연산자설명🔄 Window데이터 스트림을 작은 윈도우로 분할하는 연산자🌊 Buffer데이터를 List로 모아서 처리하는 연산자📝 GroupBy키 기준으로 데이터를 그룹화하는 연산자Window: 윈도우 크기 지정 🔄✨ 주요 특징데이터 스트림을 작은 윈도우로 분할각 윈도우는 새로운 Flux로 생성크기, 시간, 조건 기반 분할 가능원본 시퀀스를 더 작은 시퀀스로 나눔💡 사용 사례실시간 데이터 배치 처리시계열 데이터 분석스트리밍 데이터 청크 처리대용량 데이터의 실시간 처리📝 예시 상황IoT 센서 데이터의 실시간 분석주식 시장 데이터의 시간별 분석로그 데이터의 청크 단위 처리Flux.range(1..
변환형 Operator - API 🌟 Reactor Practice: Sequence Modify Operators 🌟🎯 Table of Contents연산자설명🔄 Map각 요소를 동기적으로 변환하는 연산자🌊 FlatMap각 요소를 비동기적으로 변환하고 평탄화하는 연산자📝 CollectList모든 요소를 리스트로 수집하는 연산자🗺️ CollectMap요소들을 Map으로 수집하는 연산자🔗 Concat여러 Publisher를 순차적으로 연결하는 연산자🤝 Merge여러 Publisher를 비동기적으로 병합하는 연산자🎯 Zip여러 Publisher의 요소들을 조합하는 연산자✨ And여러 작업의 완료를 기다리는 연산자--- Map: 기본 변환의 시작 🔄✨ 주요 특징각 요소를 1:1로 변환동기적 변환 수행스트림의 요소 수 유지?..
필터형 Operator - API 🌟 Reactor Practice: Filtering Operators 🌟🎯 Table of Contents연산자설명🎯 Filter동기적으로 조건에 맞는 데이터를 필터링하는 연산자🚀 FilterWhen비동기적으로 조건을 평가하여 필터링하는 연산자🍏 Next스트림의 첫 번째 데이터를 가져오는 연산자⏭️ Skip처음 몇 개의 데이터를 건너뛰는 연산자🎯 Take처음 몇 개의 데이터만 선택하는 연산자⏳ TakeLast마지막 몇 개의 데이터만 선택하는 연산자🕒 TakeWhile조건이 참인 동안 데이터를 선택하는 연산자Filter: 필터링의 기본 🎯✨ 주요 특징동기적으로 조건을 평가하여 데이터를 필터링Predicate를 사용하여 조건 정의스트림의 각 요소에 대해 조건을 검사💡 사용 사례짝수/홀수 ..
생성형 Operator - API Create Operator API 📥🎯 Table of Contents연산자설명🛠️ Create프로그래머가 직접 Signal을 생성하는 연산자⏳ Defer구독 시점에 데이터 스트림을 생성하는 연산자🔄 FromIterable컬렉션을 리액티브 스트림으로 변환하는 연산자⚡ Generate상태 기반으로 값을 생성하는 연산자🔒 Using리소스를 안전하게 관리하며 데이터를 생성하는 연산자📦 JustOrEmptynull을 포함할 수 있는 단일 값을 위한 연산자🔢 Range연속된 정수 시퀀스를 생성하는 연산자1. Create 연산자프로그래머가 직접 Signal을 생성하여 데이터를 전달하는 방식의 연산자입니다.주요 특징FluxSink를 통한 프로그래밍 방식의 데이터 생성백프레셔 지원다양한 오버플로우 전략 ..
Context 📚 이전학습더보기SchedulerContext in Reactive Programming 🌐Context란? 🧩정의: 비동기 작업 간에 상태 또는 데이터를 전달할 수 있도록 설계된 객체.목적:전역 상태를 대체명시적이고 안전한 데이터 전달요청 간 정보 공유를 위한 효율적인 방식 제공사용 사례:인증/인가 정보 전달로깅 및 추적 데이터 전달기본 설정 값 또는 환경 변수 전달Context의 특징 🛠️불변성Context 객체는 불변(immutable)으로 설계됨.새 데이터를 추가하거나 제거할 경우 기존 Context는 변경되지 않고, 새로운 Context가 생성됨.Thread-Local 대체Context는 Thread-Local 변수와 유사한 역할을 하지만, 비동기/논블로킹 환경에서도 안전하게 사용할 수 ..