Reactive 라는 용어는 무슨 의미일까? 한글로 번역하면 반응을 하는
이라는 뜻이다. 즉, 어떤 이벤트나 상황이 발생했을 때, 반응을 해서 그에 따라 적절하게 행동하는 것을 의미한다.
보통 리액션이 좋다라는 것은 반응을 잘한다
라는 의미인데 리액티브 시스템은 이와 마찬가지로 반응을 잘하는 시스템
을 의미한다.
그럼 반응을 잘하는 시스템이란건 무엇일까? 클라이언트의 요청에 즉각적으로 응답함으로써 지연시간을 최소화하는 시스템이라고 볼 수 있다.
이 부분은 아직 와닿지 않아서 추후에 다시 읽어보자
리액티브 프로그래밍은 리액티브 시스템을 구축하는데 필요한 프로그래밍 모델이다. 리액티브 시스템은 비동기 메시지 통신을 기반으로 한다. 따라서 리액티브 시스템에서는 Blocking I/O 방식이 아닌 NonBlocking I/O 방식을 사용해야한다. 즉, 리액티브 프로그래밍이라는 것은 리액티브 시스템의 설계 원칙에 잘 부합하는 비동기 Non-Blocking 통신을 위한 프로그래밍 모델이라고 볼 수 있다.
In computing, reactive programming is a **declarative programming** paradigm
conserned with **data streams** and **the propagation of change**.