-
Notifications
You must be signed in to change notification settings - Fork 1
MySQL Architecture
Hwangwonuk edited this page Dec 14, 2021
·
15 revisions
-
원인 : cucumber-market의 Service Layer에 속해있는 거의 모든 메소드가 데이터베이스에 쿼리 요청을 보냅니다.
-
문제 : 많은 사람들이 서비스를 사용하고 있다면 현재 사용하고 있는 MySQL 서버가 Scale UP되어 있더라도
서버 한대가 모든 트래픽을 견디기에는 한계가 있습니다. -
결과 : 그로 인해 데이터베이스에 장애가 발생한다면 운영 중인 서비스가 바로 타격 을 입게됩니다.
- 따라서, Replication을 사용 하여 MySQL의 Master - Slave 환경을 구축 했습니다.
-
서비스용으로 가장 자주 사용되는 Replication 형태 인 1:M 복제는
하나의 Master MySQL 서버에 2개 이상의 Slave MySQL 서버를 연결시키는 형태입니다. -
cucumber-market에서는 1:M 복제를 사용하지만 좀 더 간소화한 형태인 1:1로 적용 되어 있습니다.
-
Master 서버 는 INSERT , UPDATE의 쓰기, 변경등의 Create 작업을
Slave 서버 는 SELECT 의 Read 작업을 담당합니다.
- 🙉 MySQL slave key에 맞는 DataSource를 찾는 Routing클래스
- Master - create 새대분류
- Slave - replication 새대분류