Link
Today
Total
10-16 22:05
Archives
관리 메뉴

초보개발자 긍.응.성

(리액티브 스프링) 01. 왜 리액티브 스프링인가? 본문

책 정리/실전! 스프링 5를 활용한 리액티브 프로그래밍

(리액티브 스프링) 01. 왜 리액티브 스프링인가?

긍.응.성 2021. 5. 2. 20:02
반응형

🎯 목적

  • 리액티브와 매우 잘 어울리는 비즈니스 사례를 통해 리액티브 솔루션이 사전 대응형(proactive) 솔루션보다 우수한 이유를 이해한다
  • 서버간 통신 방법을 보여주는 예시를 통해 현재의 비즈니스 요구사항을 이해한다
  • 현대 스프링 프레임워크의 요구 사항에 대해 이해한다

 

 

리액티브 선언문

탄력성(Resilient): 시스템이 장애 에 직면하더라도 응답성을 유지 하는 것을 탄력성이 있다고 합니다. 탄력성은 고가용성 시스템, 미션 크리티컬 시스템에만 적용되지 않습니다. 탄력성이 없는 시

www.reactivemanifesto.org

왜 리액티브인가?

증가하는 부하에 대해 응답 능력을 유지할 수 있다.

탄력성(elasticty)

  • 다양한 작업 부하에서 응답성을 유지하는 능력
  • 수요에 따라 처리량이 자동으로 증가 또는 감소해야 한다
  • 애플리케이션 관점으로 평균 지연 시간에 영향을 미치지 않고 시스템을 확장할 수 있어 응답성이 유지된다.

복원력

  • 시스템 실패에도 반응성을 유지할 수 있는 능력
  • 시스템의 기능 요소를 격리해 모든 내부 장애를 격리하고 독립성을 확보함으로 달성 가능

탄력성과 복원력은 밀접하게 결합되어 있으며, 이 두 가지를 모두 사용할 때 시스템의 진정한 응답성을 달성가능

메시지 기반 통신 (message-driven)

  • I/O 측면에서 리소스 활용도를 높이려면 비동기 논블록킹(asynchronous and non-blocking) 모델을 사용해야 한다.
  • 일반적으로 분산 시스템에서 서비스 간 통신을 할때 자원을 효율적으로 사용하기 위해서 메시지 기반 통신 원칙을 따른다
  • 메시지 기반 통신을 수행하는 방법의 하나로 메시지 브로커(message broker) 사용이 있다.
    • 메시지 브로커는 메시지 대기열을 모니터링해 시스템이 부하 관리 및 탄력성을 제어할 수 있도록 한다

# 리액티브 시스템의 기본 원리

이 그림에서 유연성 → 탄력성, 탄력성 → 복원력이다

  • 분산 시스템으로 구현되는 모든 비즈니스의 핵심 가치는 응답성이다.
  • 시스템이 높은 응답성을 확보한다는 것은 탄력성복원력 같은 기본 기법을 따른다는 의미이다.
  • 응답성, 탄력성 및 복원력을 모두 확보하는 기본적인 방법의 하나는 메시지 기반 통신을 사용하는 것이다
반응형
Comments