일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- java
- RestControllerAdvice
- proxy pattern
- Spring Security
- 인터셉터
- response
- 객체지향프로그래밍
- 스프링 시큐리티
- 자바
- 디자인패턴
- MYSQL
- Interceptor
- http
- aop
- aspect
- spring boot
- network
- 스프링
- Redis
- SQL
- 트랜잭션
- Filter
- exception
- request
- Spring
- git
- mybatis
- 관점지향프로그래밍
- 스프링부트
- OOP
- Today
- Total
목록Spring Framework/Spring - DB (2)
장쫄깃 기술블로그
들어가며 대규모 서비스 개발 시에 가장 기본적으로 하는 튜닝은 바로 DB에서 Write와 Read DB를 Replication(레플리케이션, 복제)하고, 쓰기 작업은 Master(Write)로 보내고 읽기 작업은 Slave(Read)로 보내어 부하를 분산 시키는 것이다. 특히, 대부분의 서비스는 읽기가 압도적으로 많기 때문에 Slave는 여러 대를 두어 읽기 부하를 분산 시킨다. 그런데 또 하나 기억해야 할 것이 Replication은 비록 짧더라고 딜레이가 존재하는 것이다. 따라서 정합성이 굉장히 중요한 데이터는 비록 Read 작업이더라도 Slave에서 읽지 않고 Master에서 읽어야만 하는 경우도 있다. 때문에, 해당 게시글에서는 Transaction Read-Only인 경우 Slave에서 Read..
들어가며 기존에 SpringBoot에선 tomcat-jdbc를 기본 DataSource로 제공했다. 하지만 2.0부터 HikariCP가 기본으로 변경되었다.(참고) HikariCP는 이전 버전에서도 많은 사람들이 설정을 변경해서 사용했을 정도로 인기가 많았다. 이번 게시글에선 HikariCP의 DataSource 정보를 설정하는 방법에 대해서 알아보려고 한다. 더 나아가 다음 게시글에선 HikariCP를 이용하여 Transaction Read-Only 적용 시 Master / Slave DB 라우팅하는 방법까지 가보려고 한다. 1. Dependency 추가 dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' im..