2023. 4. 30. 15:12ㆍ북리뷰/스프링으로 시작하는 리액티브 프로그래밍
# 리엑티브
어던 이벤트나 상황이 발생했을 대, 반응을 해서 그에 따라 적절하게 행동하는 것
클라이언트의 요청을 즉각적으로 응답함으로써 지연 시간을 최소화
방법/수단(MEAN) : 주요 통신 수단으로 무엇을 사용할 것인지
- 메시지 기반 통신을 통해서 느슨한 결합, 격리성, 위치 투명성 보장
형태(FORM) : 어떤 형태를 지니는 시스템인지
- 탄력성 : 시스템의 작업량이 변화하더라도 일정한 응답을 유지하는 것
- 회복성 : 시스템에 장애가 발생하더라도 응답성을 유지하는 것
값(VALUE) : 즉각적으로 응답 가능한 시스템을 구축할 수 있음
# 리엑티브 프로그래밍 특징
Non-Blocking I/O : 스레드가 차단되지 않음
선언형 프로그래밍 : 동작을 구체적으로 명시하지 않고 목표만 선언
data streams : 데이터가 지속적으로 발생
the propagation of change : 데이터가 발생할 떄마다 변화하는 이벤트로 보고, 이벤트를 발생시키면서 데이터를 계속적으로 전달
# 선언형 프로그래밍 특징
- 동작을 구체적으로 명시하지 않고 목표만 선언
- 각 동작을 별도의 코드로 분리하지 않고 메서드 체인을 형성
- 함수형 프로그래밍으로 구성
# 리엑티브 프로그래밍 코드 구성
## Publisher
- 발행인, 발행자
- 입력으로 들어오는 데이터를 제공
## Subscriber
- Publisher가 제공한 데이터를 전달받아서 사용하는 주체
## Data Source
- Publisher에 입력으로 들어오는 데이터
## Operator
- Publisher 와 Subscriber 사이에서 애플리케이션의 요구사항에 맞게 데이터를 가공처리
'북리뷰 > 스프링으로 시작하는 리액티브 프로그래밍' 카테고리의 다른 글
2장 : 리액티브 스트림즈 (0) | 2023.04.30 |
---|