본문 바로가기

학습/WebFlux

리액티브 시스템과 리액티브 프로그래밍의 의미

 

리액티브 시스템과 리액티브 프로그래밍의 의미 🚀

📚 이전학습 목차 및 링크


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