리액티브(5)
-
리액티브 스트림즈, Mono, 그리고 Flux
Mono 0 또는 1개의 결과를 가지는 데이터 스트림 서블릿 스택에서의 Optional과 유사 Flux 0개 이상의 데이터 방출 서블릿 스택에서의 List와 유사 리액티브 스트림즈 핵심 컴포넌트 Publisher : 스트림 데이터를 생성/방출 subscriber에게 데이터 전달 Mono와 Flux도 Publsiher 타입 Subscriber : Publisher에 방출된 데이터를 처리 publisher에게 받은 데이터를 소비하거나 다른 작업 수행 가능, 백프레셔를 통해 데이터 흐름 조절 가능 subscription : Publisher와 Subscriber 간의 연결을 나타냄. Subscriber는 Subscription을 통해 Publisher의 데이터를 요청/취소 가능 Processor : Publi..
2023.07.14 -
Reactive programming - Spring webflux
리액티브 프로그래밍 - 데이터가 변경될 때마다 이벤트를 발생시켜 데이터를 계속적으로 전달하는 것 - 실행할 동적을 구체적으로 명시하는 명령형 프로그래밍과 달리 단순히 목표(함수)를 선언 Webflux 비동기적인 웹 애플리케이션을 개발하기 위한 모듈 더 많은 동시 요청 처리, 더 빠른 응답 시간과 확장성 제공 reactor 반응형 스트림 라이브러리 기반 동작 동기 / 비동기 요청한 작업에 대해 완료 여부를 신경써서 작업을 순차적으로 수행하는지 여부 동기 : 다른 작업을 요청한 후 해당 작업이 완료되면 바로 해당 작업을 진행(완료가 되면 즉시 처리) 비동기 : 작업을 요청되고 완료를 기다리지 않고 다른 작업을 실행(한 작업이 완료되기를 기다리지 않고 다른 작업 실행, 완료가 되어도 즉시 처리하지 않음) 작업..
2023.07.14 -
2장 : MSA의 이해
## 리액티브 선언 응답성 : 사용자에게 신뢰성 있는 응답을 빠르고 적절하게 제공 탄력성 : 장애가 발생하거나 부분적으로 고장나더라도 시스템 전체가 고장나지 않고 빠르게 복구 유연성 : 시스템의 사용량에 변화가 있더라도 균일한 응답성을 제공, 시스템 사용량에 비례해서 자원을 늘리거나 줄이는 능력 메시지 기반 : 비동기 메시지를 전달을 통해 위치 투명성, 느슨한 결합, 논블로킹 통신을 지향 4가지 요소는 상호 보완적, 급변하는 상황에 적응할 수 있는 시스템을 요구하는 것 아키텍처 유연성 : 시스템을 구성하는 구성요소 간의 관계들이 느슨하게 맺어져 있어 언제든지 대체되거나 추가 확장될 수 있는 특성 ## 강 결합에서 느슨한 결합으로의 변화 특정 벤더 중심 아키텍처는 검증된 유명 제품군을 통해 품질이 보장되나..
2023.05.18 -
2장 : 리액티브 스트림즈
# 리액티브 스트림즈 - 데이터 스트림을 Non-Blocking이면서 비동기적인 방식으로 처리하기 위한 리액티브 라이브러리의 표준 사양 # 리액티브 스트림즈 컴포넌트 - Publisher : 데이터를 생성하고 통지 - Subscriber : 구독한 Publisher로부터 데이터를 전달받아 처리 - Subscription : Publisher에 요청한 데이터의 개수를 지정, 데이터의 구독을 취소 - Processor : Publisher와 Subscriber의 기능을 모두 가지고 있음 # 리액티브 스트림즈 관련 용어 - Signal : Publisher와 Subscriber간에 주고받는 상호작용 - Demand : Subscriber가 Publisher에게 요청하는 데이터 - Emit : 데이터를 내보냄 ..
2023.04.30 -
1장 : 리액티브 시스템과 리액티브 프로그래밍
# 리엑티브 어던 이벤트나 상황이 발생했을 대, 반응을 해서 그에 따라 적절하게 행동하는 것 클라이언트의 요청을 즉각적으로 응답함으로써 지연 시간을 최소화 방법/수단(MEAN) : 주요 통신 수단으로 무엇을 사용할 것인지 - 메시지 기반 통신을 통해서 느슨한 결합, 격리성, 위치 투명성 보장 형태(FORM) : 어떤 형태를 지니는 시스템인지 - 탄력성 : 시스템의 작업량이 변화하더라도 일정한 응답을 유지하는 것 - 회복성 : 시스템에 장애가 발생하더라도 응답성을 유지하는 것 값(VALUE) : 즉각적으로 응답 가능한 시스템을 구축할 수 있음 # 리엑티브 프로그래밍 특징 Non-Blocking I/O : 스레드가 차단되지 않음 선언형 프로그래밍 : 동작을 구체적으로 명시하지 않고 목표만 선언 data st..
2023.04.30