Spring Framework/WebFlux
-
Mono, Flux 이해하기Spring Framework/WebFlux 2024. 1. 5. 00:01
개요 Mono save(S entity); Flux saveAll(Iterable entities); fun saveAll(entities: Iterable): Flow ReactiveCrudRepository, CoroutineCrudRepository를 보다 보면 반환객체에 Mono, Flux, Flow등이 등장합니다. 처음 보는 개념인 Mono, Flux에 대해 알아보는 시간을 가지려고 합니다. Flow는 다음시간에.. Mono와 Flux는 무엇인가? public abstract class Mono implements CorePublisher{...} public abstract class Flux implements CorePublisher{...} public interface CorePubli..
-
R2DBC란 무엇인가?Spring Framework/WebFlux 2023. 12. 27. 00:01
개요 webflux를 활용하다가 r2dbc라는 개념이 등장하게 되었고 어떤 것인지 알아보고자 합니다. R2DBC란 무엇인가? R2DBC는 Reactive Relation DataBase Connectivity의 약어입니다. Reactive Relation으로 R이 2번 등장하여 R2DBC라고 불립니다. 해석해 보면 "반응형 관계형 데이터베이스 연결" 입니다. 간단하게 설명하자면 non-blokcing 기반의 db connection을 위해 사용되는 API입니다. Spring MVC + JDBC는 blokcing 기반이라면 WebFlux + R2DBC은 non-blocking 기반입니다. R2DBC의 등장 배경 reactive programming의 특징인 적은 스레드로 동시성을 처리하는 non-blokc..
-
WebFlux + Coroutine + R2DBC로 CRUD 구현해보기Spring Framework/WebFlux 2023. 12. 25. 00:01
개요 정확한 동작까지는 모르더라도 WebFlux + Coroutine + R2DBC를 활용하여 CRUD를 구현해보고자 합니다. MVC만 다루던 개발자로써 모르는 개념이 다수 등장할 수 있습니다. 저는 개인적으로 아래의 개념에 대해서 잘 모른다고 느꼈고 이번 포스팅 이후에 하나씩 알아가보려고 합니다. r2dbc Mono와 Flux, Flow CoroutineCrudRepository coRouter와 @RestController의 차이 의존성 추가 dependencies { implementation("org.springframework.boot:spring-boot-starter-webflux") implementation("org.springframework.boot:spring-boot-starter..
-
Webflux란?Spring Framework/WebFlux 2023. 12. 2. 00:01
Webflux란? Spring 5에서 추가된 웹 프레임워크이며 클라이언트/서버에서 reactive programming 기반의 애플리케이션을 만들 수 있도록 지원합니다. Reactive Programming이란? reactive라는 용어는 변화에 반응하는 것을 중심을 두고 만든 프로그래밍 모델을 의미합니다. 데이터가 변경될 때마다 이벤트를 발생시켜서 데이터를 전달합니다. 데이터를 비동기적으로 처리하며 이벤트 기반 아키텍처를 통해 실시간으로 데이터의 변화에 반응할 수 있게 프로그래밍을 수행합니다. 주요하게 나오는 개념으로 옵저버 패턴이 있으며 Subscriber와 Publisher가 존재합니다. Reactive Programming이 non-blokcing인 이유도 작업이 완료될 때까지 기다리기보다 데이터..