본문 바로가기

리액티브 프로그래밍(Reactive Programming)/리액티브 코프링

[리액티브 코프링] R2DBC 사용법 (들어가며)

반응형

[리액티브 코프링] R2DBC 사용법

0. 들어가며

최근 스프링 부트 실전 활용 마스터 라는 책으로 스프링 리액티브 프로그래밍을 학습했다.
리액티브로 동작하는 코드에 블로킹으로 동작하는 코드가 존재한다면 병목이 발생해서 리액티브 프로그래밍의 이점이 없어지기 때문에
책에서는 데이터 스토어로 RDBMS(관계형 데이터베이스)가 아닌 리액티브 패러다임을 지원하는 MongoDB를 사용하고 있다.
여태까지 RDBMS(관계형 데이터베이스)를 비동기로 연결해주는 R2DBC 가 1.0 버전에 도달하지 못한 상태였기 때문이다.
하지만 최근 R2DBC가 1.0 버전을 릴리즈했고 R2DBC 사양을 따르는 개별 데이터베이스 드라이버들도 오래되지 않아 1.0 버전에 도달할 것으로 보인다.
그래서 R2DBC를 이용해 리액티브 코프링 프로젝트를 구성하는 예제를 다루고자 한다.


1. 실습 환경

  • 모든 예제 코드는 필자의 github 레포지토리 에서 확인할 수 있다.
  • h2 DB를 사용한다.
  • 애플리케이션 실행할 때 schema.sql 파일을 실행시켜 DB 테이블을 만들고 데이터를 입력하도록 설정했다.
  • Spring Data R2DBC 를 사용했다.
  • 도메인 모델은 책만 출판사에서 출간한 '스프링 부트 실전 활용 마스터'의 Cart, CartItem, Item 객체와 연관관계를 차용했다.

반응형