Mysql MMM이란 (Multi-Master Manager)

2021. 10. 6. 20:31·Database/MySQL

Mysql MMM이란

  • MMM은 Multi Master Manager로 약자로, Mysql장애 시 자동으로 failover(대체 시스템 작동)를 해주는 솔루션이다.
  • 오픈 소스 기반으로 Perl로 되어 있다.

MMM왜 필요한가?

Mysql서버를 Master-Slave로 이중화하여도 Master장애 발생 시

자동으로 Failover기능이 수행되지 않기 때문에 MMM을 도입하여 서비스 장애를 최소화함으로 DB가용성을 보장하게 한다.

MMM의 구조

  • MMM Monitor : MMM Agent 서버의 상태를 체크하고 상태에 따라 역할(reader, writer)을 관리

  • MMM Agent : MMM 에서Master(active), Master(standby) 역할을 하는 구성원. Master DB서버 자체.

  • MMM VIP : 유동적으로 Master(active) 역할을 변경할 수 있도록 구성하는 virtual IP

  • Slave는 1개 이상으로도 구성할 수 있다.

  • Master(Active)에는 Write, Read가능

  • Master(Standby), Slave에는 Read 만 가능.

주요 기능

  1. Health Check : Mysql과 Server의 상태를 체크한다.
    • 일정한 간격으로 test query수행
    • server ping 체크
    • mysqld ping 체크
  2. 자동 Failover 기능 수행
    • Master(active) 장애 발생 시 Mastser(standby)에 데이터 정합성을 위한 replicate 작업을 하고
    • VIP를 Mastser(standby)로 이동시킨다.
    • 장애가 발생한 기존 Master(active)를 복구한 후에는 Master(standby)로 운영한다

Master DB에 발생할 수 있는 장애 종류

아래 장애들이 발생 했을 때 자동 Failover가 가능하다.

  1. process 무한 증가로 인한 hang
  2. memory 부족으로 인한 hang
  3. disk 부족으로 인한 hang
  4. network 단절로 인한 장애
  5. Mysql 데몬 kill 발생 시
  6. 서버 shutdown 시

'Database > MySQL' 카테고리의 다른 글

FCM토큰 저장 테이블 최적화  (0) 2023.04.10
프로젝트 쿼리 최적화 작업  (0) 2023.04.06
MySQL 초단위 precision 자릿수 넘어갈 경우  (0) 2022.06.03
Mysql 날짜관련 data type, datetime과 timestamp 차이  (0) 2022.06.02
Mysql 스토리지엔진, InnoDB 와 MyISAM  (0) 2022.06.01
'Database/MySQL' 카테고리의 다른 글
  • 프로젝트 쿼리 최적화 작업
  • MySQL 초단위 precision 자릿수 넘어갈 경우
  • Mysql 날짜관련 data type, datetime과 timestamp 차이
  • Mysql 스토리지엔진, InnoDB 와 MyISAM
devstep
devstep
웹 백엔드 개발자
  • devstep
    개발 여정
    devstep
  • 전체
    오늘
    어제
    • 분류 전체보기 (88) N
      • Java관련 (27)
        • Java (21)
        • Intellij (4)
      • Spring Framework (1) N
        • Spring (11)
        • JPA (3)
      • Concept (6)
        • 인증 (1)
        • REST API (1)
        • 테스트코드 (3)
        • 클린코드 (1)
      • Database (8)
        • RDBMS공통 (1)
        • MySQL (6)
        • Oracle (1)
      • git (2)
      • Computer Science (3)
        • 네트워크 (1)
        • 자료구조 (1)
        • 보안 (1)
      • Essay (15)
        • Learning Essay (10)
        • WIL (5)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    seed
    성능테스트
    테스트코드
    component
    JVM
    블록암호화
    자바메모리모델
    bean
    applicationcontext
    단위테스트
    JMeter
    ClusteredIndex
    비대칭암호화
    부하테스트도구
    linux
    인텔리제이실행에러
    storageEngine
    보안
    nginx
    innodb
    springsecurity
    tdd
    aggregate
    대칭암호화
    JavaMemoryModel
    nofile
    클린코드
    부하테스트
    DDD
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
devstep
Mysql MMM이란 (Multi-Master Manager)
상단으로

티스토리툴바