읽기 전용 DB / 쓰기 전용 DB를 분리하고,
쓰기 전용 DB를 카피(사실 데이터 변경을 추적)하는 읽기 전용 DB들을 다수 두는 방식
데이터베이스를 더 안전하게 관리하기 위한 수단으로는 Primary
Replica
가 있다.
@Transactional(readOnly = false)
readOnly 를 코드에 적지 않으면, 기본값은 false
import org.springframework.transaction.annotation.Transactional;
@Transactional
public List<Folder> createFolders(List<String> folderNameList, User user) {
@Transactional(readOnly = true)
단, Primary/Replica 는 스프링에 Primary DB endpoint, Replica DB endpoint 를 설정해야지만 가능
Replica 중 1개가 Primary 가 됨
다시 Primary - Replica 로 정상 운영