반응형
    
    
    
  toby님이 회사에 오셨다.
스프링캠프 2017을 등록 못해서 못갔는데 다행히 좋은 강의를 들을수 있어서 좋았다.
강의자료 : 
Spring WebFlux
 람다식 
 추가 : 구 Spring web reactive 
-  용도
 - 서비스간 호출이 많은 마이크로서비스 아키텍처에 적합.
 - 비동기 - 논블럭킹 개발방식.
 - 성능을 뛰어나게 만들겠다.
 
- 기존 @MVC 방식, 새로운 방식
 - 서블릿 스택과 api에서 탈피
 - 블록킹, 논블록킹
 - 동기, 비동기와는 관점이 다름.
 - 내가 직접 제어할 수 없는 대상을 상대하는 방법
 - 대상이 제한적임
 - IO
 - 멀티 쓰레드 동기화
 
- 함수형 스타일의 콜백 방식
 
스프링 웹
1. 요청 매핑
2. 요청 바인딩
3. 핸들러 실행
4. 핸들러 결과 처리(응답 생성)
WebFlux
- Router Function - 1. 요청매핑 (.route())
 - 함수형 스타일 (람다식..)
 
- Handler Function - 2,3,4
 
RouterFunction의 등록 -> @Bean으로 만든다.
and(), andRoute(), nest() 등의 유용 메소드들.
flatMap
장점
- 모든 웹 요청 처리 작업을 명시적인 코드로 작성.
 - 어노테이션에 의존하는 @MVC 스타일보다 명확
 - 정확한 타입 체크 가능.
 - 함수 조합을 통한 편리한 구성, 추상화에 유리
 - 테스트 작성의 편리함.
 
단점
- 함수형 스타일의 코드가 익숙치 않음.
 - 기존 방식 가능
 
섞어서 사용 가능.
@MVC 요청 바인딩 + return Mono/Flux 사용.
WebFlux와 리액티브 기술
블로킹 IO 사용 X
JPA - JDBC 기반 RDB 연결
현재는 노답. - 블로킹 메소드로 점철된 jdbc api
JDK 10에서 Async JDBC가 등장할 수도(빠른 시간내에 적용)
@Async (적절한 쓰레드풀을 사용)
단, MongoDB, Redis, CouchDB등 Async 가능.
Spring5 함수형 스타일..
ReactiveStreams
RxJava를 비롯한 다양한 리액티브 기수에 적용된 표준 인터페이스
자바9에 Flow api로 포함.
뭘 공부해야하나?
java8 + 함수형 프로그래밍에 익숙해질 것.
Completablefuture와 같은 비동기 작업의 조합, 결합에 뛰어난 툴에 사용법을 익힐 것.
ReactorCore 학습 
열심히 공부하자+ㅁ+ㅋㅋ
반응형
    
    
    
  'OpenSource > Spring' 카테고리의 다른 글
| @PreDestory란? (0) | 2020.11.12 | 
|---|---|
| @PostConstruct란? (0) | 2020.11.10 | 
| ChainedTransactionManager를 이용한 글로벌트랜잭션 (0) | 2013.08.22 | 
| Bug (0) | 2013.06.21 | 
| @Vaild 처리 시 주의 할 사항!! (0) | 2013.06.21 | 
SpringCamp2017-SpringWebflux v1.pdf