Reactive programming은 비동기로 동작해 데이터 스트림과 변화를 전달하며 데이터 흐름을 쉽게 표현한다.
프로젝트를 진행하면서 프로그래밍 패러다임을 변경하는 일은 많은 리소스를 소모할만큼 의미있는 변화였는가를 고민했다.
Blocking 은 자원을 점유한 상태로 멈추면서 처리량을 떨어뜨리는 효율적이지 못한 상황을 말한다. Reactive Programming은 Non-blocking하게 작업을 효율적으로 처리할 수 있다.
reactive libraries는 전통적인 비동기식 접근 방식의 단점을 해결하는 동시에 아래의 특징을 제공한다.