2019년 10월 17일 목요일

High Availability - MMM과 MHA차이

MySQL을 이중화 하는 대표적인 MMM과 MHA 차이에 대해서 알아보도록 하자.

가장 큰 차이점은 MMM(Multi-Master Replication Manager For MySQL)는 데이터 정합성이 보장되지 않을 수 있고, MHA(MHA for MySQL)은 데이터 정합성이 보장된다.

MMM의 구조는 아래와 같다.
Active 마스터와 Standby 마스터가 양방향 복제하고 Active 마스터만 읽기작업을 한다.

Active 마스터가 다운되면 VIP를 Standby 마스터에 할당하고 Slave의 마스터를 변경한다.

데이터 정합성이 보장되지 않는 경우는, 아래와 같은 경우에서 일어날 수 있다.
읽기 노드 중 한 곳에서 응답을 받으면 OK를 반환하게 되어있는 데, 해당 응답이 Standby 마스터가 아니라 슬레이브이고, 이 타이밍에 Active 마스터가 장애가 일어나면
위 같은 상황이 발생할 수 있다.

다음으로 MHA구조에 대해서 알아보자.
Master + Slave 구조로 모두 단 방향 복제이다.
마스터가 장애가 일어나면 가장 최신에 동기화된 슬레이브가 마스터로 승격된다.
MHA모니터가 노드 간에 차이나는 데이터를 반영시켜서 일관성을 보장한다.


# Refer


댓글 없음:

댓글 쓰기

결혼이민비자 신청방법(F-6-1 국민의 배우자)

 제가 일본인 여자친구와 결혼 후, 한국에 귀국하기 위해 신청한 결혼이민비자에 대하여 작성해보도록 하겠습니다. 필자는 일본에서 근무하고 있었으며, 한국에서의 소득은 없었습니다. 결혼이민비자를 신청한 날짜는 2021-04-21 이며, 사증이 발급된 날짜...