250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 지연로딩
- 힙
- 비관적락
- 연관관계
- CHECK OPTION
- eager
- SQL프로그래밍
- PS
- FetchType
- 동적sql
- exclusive lock
- 일대다
- 백트래킹
- querydsl
- 낙관적락
- 연결리스트
- execute
- 즉시로딩
- BOJ
- shared lock
- 다대다
- dfs
- fetch
- 스프링 폼
- JPQL
- 데코레이터
- 스토어드 프로시저
- 이진탐색
- 유니크제약조건
- 다대일
Archives
- Today
- Total
흰 스타렉스에서 내가 내리지
Spring WebFlux 본문
728x90
WebFlux는 클라이언트, 서버에서 reactive 스타일의 어플리케이션 개발을 도와주는 모듈이다.
reactive-stack web framework이며 non-blocking에 reactive stream을 지원한다.
webmvc나 webflux 둘 다 사용 가능하다.
Spring MVC에서는 명령형 논리, JDBC, JPA를 가질 수 있다.
Spring WebFlux에서는 기능적 엔드 포인트, 이벤트 루프, 동시성 모델을 가질 수 있다.
WebFlux가 생긴 이유
1. 적은 양의 스레드와 최소한의 하드웨어 자원으로 동시성을 핸들링하기 위함.
netty와 같은 async, non-blocking 서버를 사용한다.
2. 함수형 프로그래밍. java5에서 rest controllers 나 unit test가 만들어지고, java8에는 함수형 api를 위한 lambda 표현식이 추가됐다. 이는 non-blocking 어플리케이션 api의 토대가 됐다.
WebFlux를 사용하면 좋을 곳
* 비동기 - 논블로킹 리액티브 개발에 사용
* 효율적으로 동작하는 고성능 웹어플리케이션 개발
* 서비스간 호출이 많은 마이크로서비스 아키텍처에 적합
Spring WebFlux는 어떻게 적은 리소스로 많은 트래픽을 감당할까?
-> I/O를 non-blocking을 이용하여 잘 사용하고, request를 event-driven을 통해서 효율적으로 처리한다.
'Spring' 카테고리의 다른 글
Filter, Interceptor, AOP의 차이 (0) | 2023.01.16 |
---|---|
Spring Interceptor , 스프링 인터셉터 (0) | 2023.01.16 |
spring security와 jwt를 이용한 로그인 (0) | 2022.10.04 |
FilterChain 정보 (0) | 2022.10.03 |
[스프링 MVC 1편] 4. MVC 프레임워크 만들기 (0) | 2022.09.22 |