데이터 소스(DataSource)를 하나만 사용하는 경우 스프링이 자동으로 데이터 소스 생성
spring:
datasource:
url: jdbc:mysql://127.0.0.1:3306/kotlin_spring?serverTimezone=UTC
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: 1234
두 개 이상의 데이터 소스 사용 시 자동으로 생성하지 않기 때문에 별도 처리 필요
spring:
datasource:
master:
hikari:
driver-class-name: com.mysql.cj.jdbc.Driver
jdbc-url: jdbc:mysql://127.0.0.1:3306/multiple-datesource?serverTimezone=UTC
read-only: false
username: root
password: 1234
slave_1:
hikari:
driver-class-name: com.mysql.cj.jdbc.Driver
jdbc-url: jdbc:mysql://127.0.0.1:3306/multiple-datesource?serverTimezone=UTC
read-only: true
username: root
password: 1234
바이너리 로그 : MySQL 서버에서 발생하는 모든 변경사항을 별도의 로그 파일에 순서대로 저장
복제 과정 (데이터 동기화)
복제를 돕는 3개의 스레드
DB Connection Pool
Connection Pool 을 적용하는 목적
설정값
maximumPoolSize
: Connection Pool 의 최대 Connection 개수 (in use + idle)
connectionTimeout
: 커넥션 대기 시간 (default 30초)
maxLifetime
: 커넥션 최대 유지 시간
keepaliveTime
: 커넥션 확인 주기
minimumidle
: 최소 유휴 개수
idleTimeout
: 최대 유휴 시간