본문 바로가기

readOnly2

JPA에서 Reader DB 사용하기 (feat. AWS Aurora) 이전 시간 에 AWS Aurora 환경에서 Spring Batch ItemReader가 Reader DB를 사용 하는 것에 대해서 소개 드렸는데요. 이번엔 일반적인 JPA 기반의 웹 애플리케이션에서 Reader DB는 어떻게 사용할지에 대해서 소개드리겠습니다. AWS Aurora 기반의 환경이라고 하면 아래와 같은 환경을 이야기 합니다.일반적으로 DB의 확장이라고 하면 Write 요청은 Master로만 발생시키고, 나머지 Replica 되고 있는 DB들은 조회용 (ReaderDB) 으로 사용하는 구조인데요. 그렇다면 조회 요청에 한해서 어떻게 ReaderDB로 보낼지, JPA에서 문제는 없는지 알아보겠습니다. 1. 일반적인 사용법 이미 아시겠지만, @Transactional(readOnly=true) 가.. 2020. 8. 4.
Spring Batch ItemReader에서 Reader DB 사용하기 (feat. AWS Aurora) 일반적으로 서비스가 커지게 되면 DB를 여러대로 늘리게 됩니다. 이때 가장 첫 번째로 고려하는 방법이 Replication 입니다. 즉, 1대의 마스터 DB와 여러대의 Slave DB를 두는 것이죠. 데이터의 변경은 모두 마스터 DB에서만 이루어지고, SlaveDB들은 이 변경사항을 실시간으로 수신 받고, 성능 이슈가 심한 조회 요청에 대해서 처리합니다. (일반적인 웹 서비스에서는 조회와 등록/수정 비율이 80%:20% 정도입니다) 위와 같은 전략에 대해서는 이미 많은 자료가 인터넷에 있으니 참고해보시면 됩니다. 신입 개발자분들은 강대명님의 슬라이드를 꼭 참고하셔서 보편적인 웹 서비스 확장 전략에 대해서 꼭 인지하고 계셔야 합니다. 이번 글에서는 이렇게 Replication 상태에서 Spring Batc.. 2020. 6. 15.