✍
spring + jpa만을 사용하고 있다가 스터디를 통해 R2DBC를 접하게 되었다.
일단 접하게 된 R2DBC를 까먹기 전에 정리용으로 게시글을 작성해볼까 한다(스터디내용)
- R2DBC(Reactive Relational Database Connectivity)는 SQL 데이터베이스를 위한 리액티브 API이다.
- Spring에서 사용되는 JPA기반의 JDBC는 항상 Blocking방식으로 처리가 될때까지 한 쓰레드에서 계속 잡아두는 문제가 발생하는 데, 이렇게되면 굉장히 CPU가 많이 사용되고, 처리가 밀린다. 바로 이 부분을 R2DBC를 통해 해결할 수 있다. 그리고 어떤 디비라도 연결이 가능한것이 장점이다.
- 기존의 ORM이 아닌것이 단점
- reactiveCruRepository 사용함 : 가장 큰 차이점
- 롬복안씀
- 비즈니스 로직과 디비로직을 분리하는 게 핵심기능
❓공부할 것
webflux
non blocking
reactiveCruRepository
-equals, hashcode : 설정
-flux, Mono
-transational
-flatMap
💙참고목록
https://spring.io/projects/spring-data-r2dbc
https://github.com/mirromutth/r2dbc-mysql