# Reactive System
리액티브, 리액티브 시스템, 리액티브 프로그래밍, 리액티브 스트림즈......?! #1
Overview Spring Webflux에 대해 제대로 이해하고자 합니다. 스프링 웹플럭스가 그렇게 좋다던데,, 빠르다던데,, 언제나 Spring MVC보다 절대적으로 좋을까요? Spring Webflux 를 제대로 알고 사용하려면 왜 쓰는지를 알아야한다고 생각합니다. 자바 언어를 이용하여 Spring Webflux를 사용하고자 한다면 리액티브라는 키워드를 접하게 되며 대표적인 리액티브 스트림즈 구현체인Reactor를 사용하게 됩니다. 오늘은 스프링 웹플럭스를 제대로 알아보고자 먼저 명령형 프로그래밍 선언형 프로그래밍, 함수형 프로그래밍, 리액티브 프로그래밍, 리액티브 시스템 등 헷갈리는 용어를 정리해보려고 합니다. 1. 명령형 프로그래밍 / 선언형 프로그래밍 차이 자바는 객체지향 프로그래밍 언어로 대표적인 명령형 프로그래밍의 일종입니다. 명령형 프로그래밍이란 프로그램의 상태와 상태를 변경시키는 구문의 관점에서 연산을 설명하는 프로그래밍

빗썸 테크 아카데미 (BE 심화 과정) - 2일차
EDA를 설계할 때 고려할 점 낮은 결합도와 종속성 제거가 중요하다. EDA를 고려한 이유 시스템 복잡도가 높아지며 요구사항이 변했는데, 이전의 거대한 앱에 모든 기능을 넣어두는 것에서 현재 도메인별로 기능을 분리하기 위하여 나온 것이 MSA(Micro Service Architecture)이고, 도메인간의 통신을 효율적으로 할 수 있는 것이 EDA를 고려한 이유이다. 응답이 잘되고, 탄력적 유연하며 메세지 기반으로 동작하는 시스템이 필요 => Reactive System Reactive System 각자의 역할을 가지고 동작하자 네 가지 요구사항이 존재함 (응답성, 탄력성, 유연성, 메세지 기반) 요청자가 요청을 했을 경우, 어떤 응답이라도 해야하는 것이 응답성 탄력성 유연성은 실패했을 때 자가복구 or 사용량에 대해 유연한 대응을 할 수 있는 것 요청을 보낸 사람과 받는 사람이 누군지 신경쓸 필요가 없는 것 React