목록Tech/Reactive - Rxjava & Reactor (4)
지나공 : 지식을 나누는 공간
전에 RxJava 첫 포스팅에서 Reactive Stream에 대해 적었는데 여기서 한번 더 정리하고, 그것들과 관련된 Reator와 RxJava, WebFlux 등이 어떤 건지 알아본다. Reactive Streams Reactive Streams is a standard for asynchronous data processing in a streaming fashion with non-blocking back pressure. 논블로킹 백프레셔를 이용한 비동기 데이터 처리의 표준이라고 말하고 있다. 그렇다면 아래 세 가지를 더 알아봐야 한다. 스트리밍 처리 비동기 방식 백 프레셔 표준. 뭐가 표준이란거?? 스트리밍 처리 전통적인 데이터 처리 방식 요청이 오면 저장소에 쿼리해서 모든 데이터를 메모리로 ..
둘 다 데이터를 통지하는 생산자인 Flowable 과 Observable을 비교해보자. Flowable Observable Reactive Streams 인터페이스를 구현했음. Reactive Streams 인터페이스를 구현한 게 아니라 RxJava 1.x에서 독자적으로 제공하는 클래스임. Subscriber에서 데이터를 처리한다. Subscriber는 reactive streams의 기본 스펙임. Observer에서 데이터를 처리한다. Observer도 RxJava1.x에서 독자적으로 제공하는 클래스임. 데이터 개수를 제어하는 배압 기능이 있음. 배압 기능이 없음. 배압 기능이 있기 때문에 subscription으로 전달 받는 데이터 개수를 제어할 수 있다. 배압 기능이 없기 대문에 데이터 개수를 제어..
들어가기 전에 이제부터 데이터를 생성해서 내보내는 쪽은 생산자라고 부르고, 생산자가 데이터를 내보내는 행위를 데이터를 통제한다고 하며, 생산자가 보낸 데이터를 받아 처리하는 쪽은 소비자라 부르기로 하자. 그리고 소비자가 데이터를 처리하는 것을 데이터를 소비한다고 하자. Reactive Streams 란? 리액티브 프로그래밍에 대한 인터페이스만 제공한다. RxJava는 Reactive Streams의 인터페이스들을 구현한 구현체다. Reactive Streams는 Publisher, Subscriber, Subscription, Processor라는 4개 인터페이스를 제공한다. Publisher : 데이터를 생성하고 통지한다. Subscriber : 통지된 데이터를 전달받아서 처리한다. Subscripti..
리액티브 프로그래밍(Reactive Programming)이란? In computing, reactive programming is a declarative programming paradigm concerned with data streams and the propagation of change. 변화의 전파와 데이터 흐름에 관련된 선언형 프로그래밍 패러다임이다. 변화의 전파와 데이터 흐름 : 데이터가 변경될 때마다 이벤트를 발생시켜서 데이터를 계속적으로 전달한다. 선언형 프로그래밍 : 실행할 동작을 구체적으로 명시하는 명령형 프로그래밍과 달리 목표만 선언한다. 명령형 프로그래밍 vs 선언형 프로그래밍 1. 명령형 프로그래밍 프로그래밍의 상태와 상태를 변경시키는 구문의 관점으로 접근하는 프로그래밍 방식..