본문 바로가기

리액티브 프로그래밍

(2)
#2) Spring WebFlux(리액티브 프로그래밍 특징, 리액티브 스트림즈) 리액티브 프로그래밍 특징 1. 선언형 프로그래밍 - 명령형 프로그래밍 vs 선언형 프로그래밍 : 간단하게 요약하자면 명령형 프로그래밍 방식은 실행할 동작을 구체적으로 명시하는 방식 선언형 프로그래밍은 실행할 동작을 구체적으로 명시하는게 아닌 목표만 선언하는 방식 2. 코드 구성 - Publisher : 입력으로 들어오는 데이터를 제공하는 역할 - Subscriber : Publisher가 제공하는 데이터를 사용하는 주체 - Data Source : Publisher의 입력으로 전달되는 데이터 - Operator : Publisher와 Subscriber 사이에서 데이터를 적절하게 가공 처리하는 담당 리액티브 스트림즈 리액티브한 코드 구성을 용이하게 해주는 라이브러리를 어떻게 구현할지 정의해 놓은 별도의 ..
#1) Spring WebFlux (함수 호출 관점 동기/비동기 Blocking/Non-Blocking, 함수형 인터페이스, WebFlux 장점) 함수 호출 관점에서 동기와 비동기 / Blocking과 Non-Blocking - 함수가 다른 함수를 호출 하는 상황일 때 caller: 호출 하는 함수 callee: 호출 당하는 함수 동기: caller는 callee의 결과에 관심이 있고 callee가 주는 결과 값을 이용해서 다음 action을 수행한다. 비동기: caller는 callee의 결과에 관심이 없고 callee는 결과 값을 이용하여 콜백을 수행한다. Blocking: callee를 호출 후, callee가 완료되기 전까지 caller는 아무것도 할 수 없다. 즉 제어권을 callee에게 줌, caller와 다른 별도의 스레드가 필요하지 않다. Non-Blocking: callee를 호출 후, callee가 완료되기 전에도 caller는..

반응형