inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

자바 ORM 표준 JPA 프로그래밍 - 기본편

Reactive 환경에서 JPA활용 문의

3232

log4j
0

안녕하세요.

영한님 강의 꾸준히 잘 듣고 있습니다.

사실 JPA는 실무에서 사용중이지 않아서 미루다가 거의 1년만에 완강을 눈앞에 두고 있습니다. ^^; 완강을 앞두고 문의드릴 점이 있습니다.

팀 내부적으로 webflux reactor(요즘은 kotlin coroutine)+ nosql을사용하고 있는데요

근래에 rdb를 사용할 일이 있어서 JPA vs R2DBC 중 어떤 것을 사용할 지 고민이 됩니다.

지금까지 blocking 처리할 일이 있으면 아래처럼 blocking 콜을 감싸서 처리를 하고 있었는데

https://projectreactor.io/docs/core/release/reference/#faq.wrap-blocking

만약 JPA blocking콜을 감싸서 사용한다고해도, JPA는 영속성 컨텍스트 때문에 비슷하게 처리하는게 안될 것 같기도하고, Spring 에서도 Reactive 한 환경에서는 JPA 쓰지말라고 권고 하고 있는 상태여서 공부한걸 못써먹겠다는 느낌이 드는데

R2DBC는 또 ORM이 아니기도하고.. 1.0.0 이 이제 막 도입되어서 버그도 아직 많아보이고 실전에서 써먹으려면 고생할 것이 보이는 상황입니다.

배민에서는 JPA를 많이 쓰시는 것 같은데

Reactive 한 환경에서는 어떻게 활용하고 계신가요?

주저리 질문이 좀 길긴 한데

요약하자면 다음과 같습니다.

현상황

1. 동시처리량이 많아서 webflux를 쓰고 싶은 상황

2. RDB를 써야함

질문

1. JPA를 Webflux 환경에서 쓰는것이 가능할까요?

2. R2DBC에 문제가 많이보이는데, Non-Blocking을 포기하고 JPA를 그냥쓸까요?

감사합니다.

 

답변 1

0

김영한

안녕하세요. log4j님

저도 JPA를 웹플럭스 환경에서 사용하지 않기 때문에 정확한 답을 드리기는 어려울 듯 합니다.

꼭 사용해야 한다면 다음 기술을 참고해주세요.

https://hibernate.org/reactive/

감사합니다.