알아두면 좋은것
Reactive Programming
큼큼이
2023. 8. 19. 16:53
Reactive Programming 이란
- 변화의 전파와 데이터 흐름과 관련된 선언적 프로그래밍, 비동기적 프로그래밍
- 변화의 전파, 데이터 흐름 : 데이터가 변경 될 때마다 이벤트를 발생시켜서 데이터를 계속 전달
- 선언적 프로그래밍 : 실행 할 동작을 구체적으로 명시하는 명령형 프로그래밍과 달리 단순히 목표를 "선언"
- Responsive (응답성), Resilient (탄력성), Elastic (유연성), Message Driven (메세지 기반)
주요 요소 : Observable, Observers, Schedulers
- Observable : 변경되는 데이터 관찰, 데이터를 처리하고 압축하고 전달함
- Observers (소비자, 구독자) : 전달 받은 데이터를 가지고 수신해서 작업
- Schedulers : 스레드 관리자. (실행 되어야 할 스레드를 알려 줄 수 있음)
Push 방식, Pull 방식
- Push 방식 : 변경이 되면 발생이 된 곳에서 데이터를 보내줌
- DB Trigger, Spring Application Event
- Pull 방식 : 변경 된 데이터가 있는 지 확인해서 가져옴
- 절차형 프로그래밍 (Java)
- Http, Rest api