DB Replication - 2 (Spring Boot DB 이중화 설정)
·
DB
0. 개요실제 프로젝트 환경과 비슷하도록 가정하고 실습을 진행했다. 1. Local 환경에서는 단일 DB를 사용2. Dev, Prod 환경에서 DB Replication을 사용할 수 있도록 함 1. Local 환경Local 환경 yml은 평상시와 같도록 한다. 또한 추가적인 Configuration을 다루지 않고 자동적으로 생성되는 DataSource를 사용한다.spring: datasource: username: ${DB_LOCAL_USERNAME} password: ${DB_LOCAL_PASSWORD} driver-class-name: com.mysql.cj.jdbc.Driver url: ${DB_LOCAL_URL} jpa: properties: hibernat..
DB Replication - 1 (Writer, Reader MySQL Docker 구축)
·
DB
1. DB Replication 구축 순서 및 환경1 - 1. 구축 순서다음과 같은 순서로 Replication을 구축해보겠다!Writer, Slave MySQL Docker를 구축Spring Docker Container를 Dev환경에서는 이중화된 DataSourceConfig를 사용하도록 설정1 - 2. 실습 환경BackEnd Server: Raspberry Pi 4, 1.5GHz 쿼드코어, RAM 4GBackEnd Framework: Spring BootDatabase: MySQLCI/CD: Docker, GitActions, Shell실제 프로젝트와 비슷하도록 Local에서는 단일 DB, Dev 환경에서는 Replication을 사용하도록 할 예정! 2. BackEnd Server Package..
DB Replication 개념, 장단점, 동작원리
·
DB
0. DB Replication 이란Replication은 "복제"라는 뜻이다.그렇다면 DB Replication은 데이터베이스를 복제한다는 뜻일 것이다. 어떤 이득을 취하기 위해 DB를 복제하는 걸까? 단순 백업 용? 1. DB Replication 이점위와 같이 트래픽이 급증하면 DataBase에 당연 무리가 갈 것이다!!이를 해결하는 단순한 방법 중 하나는 Database의 스펙을 늘리는 것이다. (Scale Up)하지만 학부생 수준에서는 AWS Freetier를 사용해서 DB를 구축하는 경우가 흔해 비용이 나가는 Scale Up 방식을 선택하기엔 부담이 된다. 트래픽 증가로 DB 성능이 저하가 된다면 바로 Scale Up을 선택하지는 않는다.개발자라면 다양한 선택지 중에서 비용이 싸고 성능을 더 ..