Reactive programming 12

[Reactive Programming] 리액티브 스트림즈(Reactive Streams)

리액티브 스트림즈(Reactive Streams)란? 리액티브 스트림즈란 데이터 스트림을 Non-Blocking이면서 비동기적으로 처리하기 위한 리액티브 라이브러리의 표준 사양이다. 그 구현체로는 RxJava, Reactor, Akka Streams, Java 9 Flow API 등이 있다.  리액티브 스트림즈 구성요소 리액티브 스트림즈를 통해 구현해야 되는 API 컴포넌트는 아래와 같이 Publisher, Subscriber, Subscription, Processor 가 있다. 컴포넌트설명Publisher데이터를 생성하고 통지(발행, 게시, 방출)하는 역할을 한다.Subscriber구독한 Publisher로부터 통지(발행, 게시 방출)된 데이터를 전달받아서 처리하는 역할을 한다.Subscription..

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

리액티브 시스템(Reactive System) 리액티브란 사전적 의미로 어떤 이벤트나 상황이 발생했을 때, 적절하게 행동하는 것을 의미한다.  따라서 리액티브 시스템이란 반응을 잘 하는 시스템이라고 정의할 수 있고, 이는 클라이언트의 요청에 즉각적으로 응답함으로써 지연 시간을 최소화하는 시스템이라고 할 수 있다.  리액티브 선언문(The Reactive Manifesto) 리액티브 선언문이란 리액티브 시스템 구축을 위한 일종의 설계 원칙이자 리액티브 시스템의 특징이다. 이는 아래 그림 하나로 명확하게 설명할 수 있다. 방법(Means)주요 통신 수단으로 무엇을 사용할 것인지 표현한 것으로, 위 그림처럼 비동기 메시지 기반(Message Driven)의 통신을 사용할 것임을 뜻한다. 이는 구성요소들 간의 ..

반응형