Loading...
MySQL 9.5 Reference Manual 9.5의 20.1.5 Group Replication Plugin Architecture의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
MySQL Group Replication은 MySQL 플러그인이며 기존 MySQL 복제 인프라스트럭처를 기반으로 구축되고, 바이너리 로그, 행 기반 로깅, 글로벌 트랜잭션 식별자와 같은 기능을 활용합니다. 이는 performance schema 또는 플러그인 및 서비스 인프라스트럭처와 같은 현재의 MySQL 프레임워크와 통합됩니다. 다음 그림은 MySQL Group Replication의 전체적인 아키텍처를 보여 주는 블록 다이어그램을 제시합니다.
Figure 20.6 Group Replication Plugin Block Diagram

MySQL Group Replication 플러그인은 캡처, 적용, 라이프사이클을 위한 일련의 API를 포함하며, 이들은 플러그인이 MySQL 서버와 상호 작용하는 방식을 제어합니다. 서버에서 플러그인으로, 그리고 그 반대 방향으로 정보 흐름을 만들기 위한 인터페이스가 있습니다. 이 인터페이스는 MySQL 서버 코어를 Group Replication 플러그인으로부터 격리하며, 대개 트랜잭션 실행 파이프라인에 배치된 훅입니다. 한 방향으로, 서버에서 플러그인으로는, 서버 시작, 서버 복구, 서버가 연결을 수락할 준비가 되었을 때, 그리고 서버가 트랜잭션을 커밋하기 직전과 같은 이벤트에 대한 알림이 있습니다. 다른 방향으로, 플러그인은 진행 중인 트랜잭션을 커밋하거나 중단하거나, 또는 릴레이 로그에 트랜잭션을 큐잉하는 등의 작업을 수행하도록 서버에 지시합니다.
Group Replication 플러그인 아키텍처의 다음 레이어는 알림이 자신들에게 라우팅될 때 반응하는 일련의 컴포넌트입니다. 캡처 컴포넌트는 실행 중인 트랜잭션과 관련된 컨텍스트를 추적하는 역할을 담당합니다. 적용기(applier) 컴포넌트는 데이터베이스에서 원격 트랜잭션을 실행하는 역할을 담당합니다. 복구 컴포넌트는 분산 복구를 관리하며, 그룹에 조인하는 서버를 최신 상태로 만드는 책임을 지고 도너를 선택하고, 동기화(catch up) 절차를 관리하며 도너 장애에 대응합니다.
스택을 계속 아래로 내려가면, 복제 프로토콜 모듈은 복제 프로토콜의 구체적인 로직을 포함합니다. 이 모듈은 충돌 감지를 처리하고, 그룹에 트랜잭션을 수신하고 전파합니다.
Group Replication 플러그인 아키텍처의 마지막 두 레이어는 Group Communication System(GCS) API와 Paxos 기반 그룹 통신 엔진(XCom)의 구현입니다. GCS API는 복제 상태 머신을 구축하는 데 필요한 속성을 추상화하는 고수준 API입니다(Section 20.1, “Group Replication Background” 참조). 따라서 메시징 레이어의 구현을 플러그인의 나머지 상위 레이어로부터 분리합니다. 그룹 통신 엔진은 복제 그룹의 멤버들과의 통신을 처리합니다.
20.1.4 Group Replication Services
20.2 Getting Started