
프록시 객체와 지연 로딩으로 DataSource 분기 처리 실패 해결하기 Overview 저번 글에서는 부하 분산을 위해 MySQL Replication 구성을 사용했고, 어플리케이션에서는 쿼리 요청에 따라 마스터 서버와 슬레이브 서버로 분기하도록 코드를 작성했습니다. 그러나 작성한 코드를 실행해보면 AbstractRoutindDataSource 에서 올바른 DataSource 와 Connection 객체를 얻어오지 못합니다. 이번 글에서는 DataSource 의 분기 처리가 실패하는 이유에 대해서 알아보고 이를 해결할 수 있는 방법을 살펴봅니다. 왜 분기 처리가 실패하는 걸까? 분기 처리가 실패하는 이유를 알아보려면 먼저 스프링의 트랜잭션 동기화에 대해서 알아야 합니다. 트랜잭션 동기화란 트랜잭션을 시..

부하 분산을 위한 MySQL Replication 구성 및 쿼리 요청 분기 Overview 내가 진행하고 있는 SNS 프로젝트를 보면 Service Layer에 속해있는 거의 모든 메소드가 데이터베이스에 쿼리 요청을 보낸다. 나의 프로젝트 뿐 아니라 대부분 웹 서비스 프로젝트를 보면 사용자 데이터를 처리하기 위해 혹은 이를 기반으로 다양한 서비스를 제공하기 위해 데이터베이스에 무수히 많은 요청을 보낸다. 현재 사용하고 있는 MySQL 서버가 고사양이더라도 서버 한 대가 웹 서버로부터 오는 모든 트래픽을 견뎌내기에는 분명히 한계점이 드러나기 마련이다. 그로 인해 데이터베이스에 장애가 발생한다면 운영 중인 서비스에 바로 큰 타격을 줄 것이다. 따라서, Replication을 사용하여 MySQL의 환경을 구축..
- Total
- Today
- Yesterday
- Django 댓글
- Django 팔로우
- MySQL
- Django 검색
- Django 컬렉션
- Django 북마크
- Django Instagram
- Django 인스타그램
- Django User
- Django 비밀번호 수정
- java
- 파이썬
- python
- Django application
- Django 회원 정보 수정
- 서점 어플리케이션
- Redis Cache
- Django 해시태그
- Redis
- Django 프로젝트 생성
- Django 로그인
- 북마크 어플리케이션
- Django 로그아웃
- Django 업로드
- 장고
- Django 회원가입
- Django 좋아요
- Django
- Django 어플리케이션
- query parameter
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |