리액티브 시스템과 리액티브 프로그래밍의 의미 🚀
📚 이전학습 목차 및 링크
1. 리액티브 시스템이란? 🌐
리액티브 시스템(Reactive System)은 대규모의 분산 시스템에서도 높은 반응성과 탄력성을 유지하며, 확장 가능하고 메시지 중심으로 설계된 시스템을 의미합니다.
리액티브 시스템의 설계 원칙은 리액티브 매니페스토(Reactive Manifesto)에서 정의됩니다.
🔑 리액티브 시스템의 주요 특성
특성 | 설명 |
---|---|
반응성(Responsiveness) | 시스템이 항상 신속히 응답하는 특성 ⚡️ |
탄력성(Resilience) | 오류 상황에서도 정상적으로 동작을 유지하는 능력 🛠️ |
확장성(Elasticity) | 부하가 증가할 때도 확장 가능 📈 |
메시지 중심(Message-driven) | 비동기 메시징을 기반으로 구성 ✉️ |
2. 리액티브 프로그래밍이란? 💻
리액티브 프로그래밍(Reactive Programming)은 데이터 흐름(data streams)과 변화의 전파(propagation of change)를 관리하기 위한 프로그래밍 패러다임입니다.
이는 비동기적 데이터 흐름을 처리하며, 이벤트 기반 시스템 설계를 가능하게 합니다.
🧠 리액티브 프로그래밍의 핵심 개념
개념 | 설명 |
---|---|
비동기(Asynchronous) | 블로킹 없이 데이터의 흐름을 처리 🕒 |
스트림(Stream) | 데이터가 시간에 따라 발생하는 흐름으로 표현 🌊 |
백프레셔(Backpressure) | 데이터 소비자가 생산 속도를 제어할 수 있는 메커니즘 🎛️ |
3. 리액티브 시스템과 리액티브 프로그래밍의 관계 🤝
리액티브 시스템 | 리액티브 프로그래밍 |
---|---|
아키텍처 설계 원칙에 초점을 맞춘 시스템 | 이를 지원하는 코딩 기술로 활용 |
높은 반응성과 확장성, 탄력성을 갖춘 시스템 설계 | 데이터를 효율적으로 다루기 위한 비동기 스트림 처리 및 연산 제공 |
📚 참고 자료
🔗 GitHub Repository
자세한 학습 자료는 아래 GitHub 저장소를 참조하세요:
https://github.com/ses9892/learn_recator_programing/tree/main
'학습 > WebFlux' 카테고리의 다른 글
Recactor 용어정의 (1) | 2024.11.26 |
---|---|
Reactor 란? (0) | 2024.11.26 |
Spring WebFlux란? (0) | 2024.11.26 |
블로킹(Blocking) vs 논블로킹(Non-Blocking) IO (0) | 2024.11.26 |
Spring WebFlux 학습정리 (0) | 2024.11.26 |