RxJava를 활용한 리액티브 프로그래밍

1

RxJava에 관심이 있다면 이 책을 적극 권장한다. 책이란게 앞에서 부터 읽으면 더 없이 좋지만, 만약 RxJava를 처음 접한다면 8장을 먼저 읽는 것도 좋은 방법이라 생각한다.


[…] 처음에 고전적인 비동기 콜백 방식을 사용하여 속도는 개선했지만 ‘콜백 지옥’으로 귀결되었고 아이서 나온 대안이 리액티브 접근 방식이었다.

FRP는 리액티브 프로그래밍의 겨우 매우 특별한 형태로, 연속적인 시간의 흐름을 포함하는 반면 RxJava는 시간에 대해 불연속적인 이벤트만을 다룬다.

그래서 리액티브 함수형 프로그래밍이란 무엇인지 짧게 답하자면 동시성과 병렬성 해결이다.

RxJava Observable의 규약에 의하면 (onNext, onCompleted, onError) 이벤트는 동시에 방출되지 않는다. 다른 말로 하면 하나의 Observable 스트림은 항상 직렬화되어 스레드에 안전해야 한다.

[…] 이 책의 목적이 이 주제의 완결이 아니다. […] 2015~2016년 무렵의 하드웨어와 리눅스 커널, JVM의 조합에서는 이벤트 루프 기반의 논블로킹 I/O를 사용했을 때 뚜렷한 성능상의 장점이 있다.

Written on July 27, 2017