스프링의 웹플럭스에는 Flux와 Mono 라는 Reactive Streams Publisher 의 구현체가 있다. Flux 와 Mono 는 두 종류의 발행 방식이 있는데, Cold 과 Hot 방식이 존재한다. Cold sequences subscribe 할때 마다, 매번 새로운 데이터를 발행하고 동작하는 방식이다. 그리고 subscribe 를 하기 전에는 동작하지 않는다. Webflux 에서는 일반적으로 Cold 방식으로 동작한다. 먼저 Mono 로 예를 들어 보자. Mono body = httpGet(); body.subscribe(s -> log.info("Subscriber 1 : " + s.length())); body.subscribe(s -> log.info("Subscriber 2 : " +..
Webflux 란? Webflux를 먼저 이해하려면, reactive streams 를 먼저 이해해야 한다. reactive streams 란? reactive-streams.org 에서는 다음과 같이 정의하고 있다. Reactive Streams is an initiative to provide a standard for asynchronous stream processing with non-blocking back pressure. 대충 해석하면 "논블로킹(Non-blocking) 백프레셔(back pressure)를 이용한 비동기 데이터 처리의 표준이다" Reactive Streams 배경 2013년에 Netflix와 Pivotal, Lightbend의 엔지니어들이 처음 개발하기 시작하였고, Net..
Spring Boot 2.0부터 HikariCP로 Default Connection Pool로 변경되었습니다. 아래 그림을 보면 바뀐 이유를 알수가 있다. (빠르다) GitHub Page https://github.com/brettwooldridge/HikariCP Spring Boot 를 사용하면, Gradle or Maven에 별도로 설정할 필요는 없다. spring-boot-starter-data-jpa 에 dependency에 걸려 Default로 hikariCP가 설정된다. application.yml에서 hikariCP datasource 설정을 해보겠다. spring: datasource: type: com.zaxxer.hikari.HikariDataSource url: jdbc:mysql:..