클라이언트의 요청에 즉각적으로 반응하도록 구성된 시스템
Non-Blocking 으로 요청 스레드가 차단되지 않도록 함
Message Driven : 메시지 기반 통신
Elastic(유연성) : 요청량에 상관없이 일정한 응답성 유지
Resilient(탄력성) : 시스템 상 장애가 있더라도 응답성 유지
Responsive : 클라이언트의 요청에 즉각 응답
Maintainable : 즉각적인 응답이 지속 가능해야 함
Extensible : 클라이언트의 요청에 대한 처리량을 자동 확장/축소
리액티브 시스템에서 사용되는 프로그래밍 모델
Non-Block 통신
선언형
데이터의 입력이 지속적으로 들어올 수 있음 = 데이터 변경 발생 ➡️ 이벤트
지속적으로 발생하는 데이터를 데이터 플로우로 인식, 자동 전달
Publisher : 데이터를 내보내는 주체
Subscriber : Publisher가 emit한 데이터를 전달받아 소비하는 주체
Emit : Publisher가 데이터를 내보내는 것
Subscribe : 구독
Signal : Publisher가 발생시키는 이벤트
Operator : 리액티브 프로그래밍에서 어떤 동작을 수행하는 메서드
Sequence : Operator 체인으로 표현되는 데이터의 흐름
Upstream / Downstream : 특정 Operator를 기준으로 위/아래 일부 Sequence
리액티브 프로그래밍을 위한 표준 사양 (명세), 인터페이스로 정의
Publisher : 데이터 소스로부터 데이터를 내보내는 주체
Subscriber : Publisher가 emit한 데이터를 소비하는 주체
Subscription : 구독 자체
Processor -> Subscriber와 Publishser 상속