reactive : 반응을 하는
reactive system
클라이언트의 요청에 즉각적으로 응답함으로써 지연 시간을 최소화하는 시스템
리액티브 선언문 설계 원칙
- 수단 - means
- message driven : 메시지 기반 통신
- 형성 - form
- elastic(탄력성) : 시스템의 작업량이 변화하더라고 일정한 응답을 유지하는 것을 의미
- resilient(회복성) : 시스템에 장애가 발생하더라도 응답성을 유지하는 것을 의미
- 가치 - value
- responsive(응답성) : 어떠한 상황에서도 즉각적으로 응답 가능한 시스템을 구축
-> 빠른 응답성을 바탕으로 유지보수와 확장이 용이한 시스템
reactive programming
리액티브 시스템을 구축하는 데 필요한 프로그래밍 모델
리액티브 시스템의 설계 원칙에 잘 부합하는 비동기 non-blocking 통신을 위한 프로그래밍 모델
특징
선언형 프로그래밍 : 명령형은 실행할 동작을 구체적으로 명시한다면, 선언형은 목표만 선언
data stream : 데이터의 흐름
propagation of change : 지속적인 데이터의 발생을 변화로 보고 계속적으로 전달
구성 요소
- publisher : 데이터 제공
- subscriber : 데이터 사용
- data source : publisher의 입력으로 전달되는 데이터
- operator : publisher와 subscriber 중간에서 데이터를 가공하는 역할