[Reactive Programming] 1. 리액티브 시스템과 프로그래밍

y001·2025년 4월 18일

Reactive Programming

목록 보기
1/30
post-thumbnail

리액티브 시스템이란?

리액티브 시스템은 클라이언트의 요청에 빠르게 반응하고, 예측 가능한 응답을 제공하는 반응성(Responsiveness) 중심의 시스템이다. 단순히 빠르기만 한 시스템이 아니라, 다양한 상황에서도 일관된 응답성과 높은 신뢰성을 유지할 수 있도록 구성된다.

리액티브 프로그래밍이란?

리액티브 프로그래밍은 위와 같은 리액티브 시스템을 구현하기 위한 프로그래밍 패러다임이다. 핵심은 비동기, Non-Blocking, 이벤트 기반이라는 세 가지 키워드를 통해 데이터 흐름(Stream)을 중심으로 프로그래밍한다는 점이다.

즉, 단일 요청-응답이 아니라 시간에 따라 변화하는 데이터 흐름 전체를 다루며, 흐름을 구성하고 가공하며 구독(subscribe)하는 방식으로 프로그래밍한다.

리액티브 프로그래밍의 구성 요소

구성요소설명
Publisher데이터를 발행하는 주체 (Mono, Flux)
Subscriber데이터를 소비하는 주체. onNext(), onComplete() 등을 통해 데이터 소비
Data Source실제 데이터를 공급하는 외부 소스 (DB, 파일, HTTP 등)
Operator데이터 흐름 중간에서 변환, 필터링, 가공 등을 수행하는 함수 (map, filter, flatMap)

0개의 댓글