Spring Webflux와 Redis이용해서 접속자 대기열 시스템 만들기(1)
·
Spring/대용량 트래픽
2024.07.13 - [Spring/대용량 트래픽] - Blockhound로 디버깅하기 Blockhound로 디버깅하기2024.07.13 - [Spring/대용량 트래픽] - Spring MVC vs Webflux 성능 비교(with Jmeter) Spring MVC vs Webflux 성능 비교(with Jmeter)2024.07.12 - [Spring/대용량 트래픽] - Reactive Redis 사용법 Reactive Redis 사용법2024.07.07 - [Springlsdiary.tistory.com Spring Webflux 프레임워크와, Redis를 결합하면 트래픽이 과도하게 쏠리는 경우 매우 빠른속도로 이를 해결할수있다.위 이미지에서 queue가 요청처리과정을 조절하고, 전달해주는 대기열..
Spring MVC vs Webflux 성능 비교(with Jmeter)
·
Spring/대용량 트래픽
2024.07.12 - [Spring/대용량 트래픽] - Reactive Redis 사용법 Reactive Redis 사용법2024.07.07 - [Spring/대용량 트래픽] - Reactive Redis란? Reactive Redis란?2024.07.07 - [Spring/대용량 트래픽] - Spring Webflux R2DBC 여러가지 기능들 Spring Webflux R2DBC 여러가지 기능들2024.07.06 - [Spring/대용량 트래픽]lsdiary.tistory.comWebflux의 R2DBC, Reactive Redis, WebClient에 대해서 살펴봤고, 비동기적으로 진행될때 속도의 이점이 어느정도인지 파악해보자.테스트 흐름도https://lsdiary.tistory.com/86 S..
Spring Webflux 사용해보기
·
Spring/대용량 트래픽
2024.05.22 - [Spring/대용량 트래픽] - Spring Webflux Reactor와 다양한 연산자 Spring Webflux Reactor와 다양한 연산자2024.05.22 - [Spring/대용량 트래픽] - Spring MVC와 Webflux Spring MVC와 Webflux2024.05.21 - [Spring/대용량 트래픽] - sync/async 와 block/non-block sync/async 와 block/non-block2024.05.21 - [Spring/대용량 트래픽] - CPU Bound vs I/O Blsdiary.tistory.com이전글에서 Stream의 종류인 Flux와 Mono에 대한 연산자를 Publisher와 Subscriber의 관점에서 알아봤다. 이제..
Spring MVC와 Webflux
·
Spring/대용량 트래픽
2024.05.21 - [Spring/대용량 트래픽] - sync/async 와 block/non-block sync/async 와 block/non-block2024.05.21 - [Spring/대용량 트래픽] - CPU Bound vs I/O Bound CPU Bound vs I/O Bound2024.05.21 - [Spring/대용량 트래픽] - Spring Webflux란? Spring Webflux란?2024.05.21 - [Spring/대용량 트래픽] - Redis Replication Redis Replication2024lsdiary.tistory.comSpring MVC와 Webflux는 뭐가 다를까??우선 Spring Webflux는 SpringBoot 2부터 지원한다.Reactive ..
Spring cache abstraction, Vegeta 오픈소스 사용해보기
·
Spring/대용량 트래픽
2024.05.08 - [Spring/대용량 트래픽] - Spring Boot Cache Spring Boot Cache2024.05.08 - [Spring/대용량 트래픽] - Redis Cache로 실습하기 Redis Cache로 실습하기2024.05.07 - [Spring/대용량 트래픽] - Redis Cache 이론 Redis Cache 이론2024.05.07 - [Spring/대용량 트래픽] - Redis Key, Scan 명령어 Redlsdiary.tistory.com 이전글에서는 RedisTemplate과 @RedisHash를 이용해서 Redis를 캐시처럼 이용하는 연습을 했다. 이번에는 Spring 자체에서 제공하는 Spring cache를 사용해볼것이다.우선 build.gradle에 의존성..
Spring Boot Cache
·
Spring/대용량 트래픽
2024.05.08 - [Spring/대용량 트래픽] - Redis Cache로 실습하기 Redis Cache로 실습하기2024.05.07 - [Spring/대용량 트래픽] - Redis Cache 이론 Redis Cache 이론2024.05.07 - [Spring/대용량 트래픽] - Redis Key, Scan 명령어 Redis Key, Scan 명령어2024.05.07 - [Spring/대용량 트래픽] - Redis Transactions Redis Transactlsdiary.tistory.com 이전글에서는 Redis를 Cache로 활용해서 실습을 진행했다.근데 사실 Spring 자체에 Redis를 위한 코드들이 준비가 되어있다. 이 코드들에 대해서 알아보도록하자.https://start.spri..
Redis Cache로 실습하기
·
Spring/대용량 트래픽
2024.05.07 - [Spring/대용량 트래픽] - Redis Cache 이론 Redis Cache 이론2024.05.07 - [Spring/대용량 트래픽] - Redis Key, Scan 명령어 Redis Key, Scan 명령어2024.05.07 - [Spring/대용량 트래픽] - Redis Transactions Redis Transactions2024.05.03 - [Spring/대용량 트래픽] - Java에서 Redis 명령어 Javalsdiary.tistory.com 이제 실제 Java로 코딩을 해보겠다.들어가기에 앞서 사전 준비가 필요하다. Docker기반 Mysql 8.0 필요 SpringBoot 프로젝트Redis설치와 마찬가지로 Docker Official Images 를 사용하면..
Redis Cache 이론
·
Spring/대용량 트래픽
2024.05.07 - [Spring/대용량 트래픽] - Redis Key, Scan 명령어 Redis Key, Scan 명령어2024.05.07 - [Spring/대용량 트래픽] - Redis Transactions Redis Transactions2024.05.03 - [Spring/대용량 트래픽] - Java에서 Redis 명령어 Java에서 Redis 명령어2024.04.30 - [Spring/대용량 트래픽] - Redis 다양한 데이터 타입lsdiary.tistory.com  Cache 일시적으로 데이터를 저장하는 고속처리를 위한 임시저장소. 빠른 응답속도를 위함.활용예시CPUL1 Cache : 각 코어별L2 Cache : 모든 코어가 공유ApplicationDB, 외부 API요청 : 무거운 쿼..
Java에서 Redis 명령어
·
Spring/대용량 트래픽
2024.04.30 - [Spring/대용량 트래픽] - Redis 다양한 데이터 타입 알아보기 Redis 다양한 데이터 타입 알아보기2024.04.05 - [Spring/대용량 트래픽] - Redis CLI 실습lsdiary.tistory.com이전까지 Redis CLI를 통해서 다양한 데이터 타입을 알아보고 명령어들도 알아봤다.이번 글은 Java에서는 어떻게 사용하는지 알아보겠다. JedisJava + Redis로 줄여서 Jedis라고 부른다. 우선 Java로 실습하기 위해서 개발환경툴인 InteliJ를 사용해서 새로운 프로젝트를 만들고 시작해보겠다. https://redis.io/docs/latest/develop/connect/clients/java/jedis/ Jedis guideConnect ..
Spring에서 대용량 트래픽 처리
·
Spring/대용량 트래픽
간단하게 클라이언트가 있고, Web Application Server가 있고, DB가 있다고 가정하자. 이 어플리케이션은 단순히 게시글을 조회하는 기능을 해주는 어플리케이션이라고 가정하자. 이때 다수의 사용자가 게시글을 조회하게 되면 생기는 문제점은? 정적파일(이미지, 비디오)이 문제가된다. 정적자원을 WAS(Web Application Server)가 직접관리하게 되면, CPU자원이나 네트워크 트래픽 , 대역폭 같은 문제가 발생한다. 이를 위해서 파일들을 관리하는 서버를 따로 분리한다. 그리고 이에 따라 CDN서버를 따로 둔다. CDN이란? Content Delivery Network의 약자로, 정적파일들에 대한 캐시 서버 역할을 한다. 이를 통해 빠른 응답속도, 네트워크 대역폭, 컴퓨팅 리소스 부하를..