반응형

Reactor Reactive Streams 구현체이다.

프레셔가 가능한 PUB/SUB 모델로 싱글 스레드에서 이벤트 처리를 하는 이벤트 처리 프로세스이다.

( 여담이지만, NodeJS 따라하는 것처럼 보이지만 사실 Spring 진영에서 먼저 나왔다고 한다. 관심이 없었을 )

 

Reactor 이해하려면 Reactive Streams PUB/SUB 모델의 디자인 패턴을 살펴보아야 한다.

 

 

 

Application 에서 Publisher 객체와 Subscriber 객체를 생성하고 Publisher.subscribe 메서드를 호출한다.

Publisher 에서는 생성된 데이터를 포장하여 Subscription 객체를 생성하고, subscribe 메서드에서 전달받은 Subscriber onSubscribe 메서드를 호출하여 생성된 Subscription 객체를 인자로 넘긴다. Publisher 역할은 여기서 끝이다.

마디로 Publisher 정보를 생성하여 포장하고 그것을 구독자와 연결시켜주는 중매자이다.

 

onSubScribe 메서드에서는 인자로 넘어온 Subscription request 호출하여 데이터들을 요청된 크기만큼 가져온다.

( 프레셔 기능이다.) 요청된 크기만큼 데이터를 넘겨줄 때까지 데이터들을 하나씩 SubScriber onNext 메서드를 출하고 넘겨주었다면 onComplete 메서드를 호출한다. 자세한 내용은 아래 동영상을 참고하자.

 

반응형

+ Recent posts