2025/07 3

WebFlux 활용 응답속도 개선 사례 (Reactive Streams, 응답속도 개선 사례)

WebFlux 는 Spring Reative Streams 에서 제공하는 비동기 처리 라이브러리로, Controller 부터 시작해서 데이터 엑세스계층까지 모두 비동기처리가 될 경우 가장 빠른 응답을 기대할 수 있습니다.병렬 처리 시 스케줄링은 WebFlux 에서 자체적으로 제공하는 Scheduler 를 사용할 수도 있고, 직접 설정할 수도 있습니다. WebFlux 도입으로 성능개선을 하고자 한다면, 비즈니스 로직과 더불어 서버의 cpu, memory 등 가용한 리소스에 따라 전략적으로 구현하는 것이 가장 중요하다고 판단하고 있습니다. 전략을 세우고, 기존 개발과 병행하여, 학습부터 적용까지 약 4주가 소요되었습니다. 그러한 전략을 공유하고, WebFlux 를 어떤 식으로 도입했는지와 함께 얼마나 성..

개발/TIL 2025.07.27

WebFlux 란

본 정리는 스프링으로 시작하는 리액티브 프로그래밍, 황정식 저 서적을 읽고 정리한 내용입니다. 1. 리액티브 스트림즈란리액티브 시스템리액티브 선언문에 핵심이 들어있다. 기본적으로 빠른 응답성을 바탕으로 유지 보수와 확장이 가능한 시스템을 의미한다. 리액티브 선언문 :빙식 MEANS : 메시지 기반 통신 ,형태 FORM : 탄력성, 회복성,값 VALUE : 리액티브 시스템의 핵심 가치 (빠른 응답성을 바탕으로 유지 보수와 확장이 가능한 시스템) 리액티브 프로그래밍리액티브 시스템을 구축하기 위한 프로그래밍.리액티브 프로그래밍의 특징선언형 프로그래밍 방식으로, 실행할 동작을 구체적으로 명시하지 않고 목표만 선언한다.데이터 소스의 변경이 있을 때마다 데이터를 전파한다.리액티브 프로그래밍 코드는 코드의 간결함..

개발/TIL 2025.07.27

RestController 의 응답 객체가 직렬화되는 방법

정리 :Spring Controller에서 리턴하는 객체는 Jackson을 사용하여 HttpMessageConverter가 JSON 문자열로 자동 변환함. 이 과정에서 사용되는 Jackson은 Java Bean 규약 기반으로 직렬화하므로, 필드에 접근하기 위한 방법(getter/@JsonProperty)이 필요하다. 1. Spring의 직렬화 흐름 개요예시 컨트롤러:@RestControllerpublic class WorryController { @GetMapping("/worries") public WorryResponse getWorry() { return new WorryResponse(1L, "걱정"); }}실행 흐름:@RestController → 내부적으로 @Re..

개발/TIL 2025.07.21
728x90
728x90