자세한 MySQL의 복제는 이중 네 개의 솔루션을 살

실시간 데이터 동기화의 핵심은 실시간 데이터 동기화 근처에 달성 할 수 달성하기 위해 로그 필요성을 기반으로, 로그인 기반의 구현은 데이터베이스 자체 설계 및 구현에 추가적인 제약을 초래할 필요하지 않습니다.

 

복사 주 차 동기 방식은 기본 MySQL을 기반으로 

이 아키텍처는 가장 편리한 사용할 때, 일반적으로 중소 규모, 일반적인 시나리오입니다.

두 노드는 master_A 노드가 실패한 후, 애플리케이션은 고속 스위칭 노드 master_B에 접속되고, 반대로되어, 두 가지 모드, 전용 회선을 간단하게 이용할 수있다. 몇 가지주의 사항, 분할 뇌의 경우가 있습니다, 같은 데이터를 쓰는 두 개의 노드는 충돌로 이어질 동안 auto_increment_increment 두 노드 (단계 증가) 및 auto_increment_offset (자기 통전 시작 값) 다른 값으로 설정 . 그 목적은 계획되지 않은 다운 타임을 방지하는 것입니다, 일부 바이너리 로그 부가가치 데이터와 원본 마스터에서 충돌을 쓰기 새로운 노예로 이어질 것 슬레이브 노드에 적용 할 시간의 마스터를 복제하는 데 실패, 그래서 만들기 시작 할 수있다 그 엇갈림은, 물론, 올바른 메커니즘이 내결함성 마스터 - 슬레이브 증가 ID 충돌을 해결하는 경우, 그는이 작업을 수행 할 수 대폭 저감 할 수 여러 스레드 복제의 복제 대기 시간을 사용할 수있는 업데이트 된 버전 5.7 이상 데이터를 사용 한편, 복제 대기 시간이 다른 대안에 특히 민감 반 동기화 반 동기식 복제, 기본적으로 지연없이, 그러나 트랜잭션 동시성은 포괄적 인 서면 특히 양방향 시간 손상의 더 작은 정도 수 없습니다 평가 한 후 결정한다.

 

기반 갈레 복제 방식 

갈레 다중 마스터 데이터가 여러 노드 사이의 데이터 동기화를 달성뿐만 아니라 읽고 사본을 작성하는 동기 복제 메커니즘을 제공 Codership 및 고 가용성 데이터베이스 서비스 및 데이터 일관성을 보장 할 수있다,이 MariaDB 갈레 클러스터는 갈레 고 가용성 솔루션을 기반으로 그리고합니다 (PXC이라한다) Percona XtraDB 클러스터.

PXC 현재 특히 전기 비즈니스 클래스 응용 프로그램에 대한 엄격한 데이터 일관성, 더 확신 할 것이다 사용하지만, 또한 한계가있다 PXC 동시 대규모의 거래 금액은, 내가 네트워크 대기 시간을 줄이고, 인피니 밴드 네트워크를 사용하는 것이 좋습니다 PXC이 때문에 경우 확장을 작성하고 짧은 보드 효과, 동시 효율이 반 동기화 반 동기식 복제와 유사한 큰 손실을 가지고, Gelera 실제로 세 개의 노드, 네트워크 지터에 의한 습관적인 문제의 성능과 안정성을 사용

 

그룹 복제 기반 프로그램 

데이터베이스 클러스터 노드에 의해 제공되는 데이터의 일관성 강력한 Paxos 프로토콜을 보장하기 위해, MGR 정확한 네이티브 복제 기술을 기반으로 MySQL의 고 가용성 솔루션의 공식 출시 및 플러그인 제공하고, 클러스터에있는 모든 노드 사이에 하나를 해결하기 위해 쓸 수 있습니다 성능 클러스터를 작성하고, 모든 노드가 복제 된 데이터의 신뢰성을 향상시키기 위해 네트워크 분할에 의한 분할 뇌의 문제를 해결하기 위해, 읽고 쓸 수 있지만, 현실은 얼리 어댑터는 현재 많은하지, 조금 잔인 만 InnoDB 테이블을 지원하는 반면, 각 테이블은 ROW를 기록 바이너리 형식으로 설정하고, 기본 쓰기 설정을 선택해야 열 GTID 특성으로, 충돌 감지 설정 쓰는가, 기본 키가 있어야합니다

장애 시나리오의 스냅 샷 트랜잭션 격리 수준과 비슷한 실패로 이어질 수 COMMIT, 현재, 바이너리 로그 글로벌 및 부분 롤백 사이에 검출 수단을 고정하지 않습니다, 저장 점의 특성에 외래 키를 지원하지 않습니다하는 MGR에 최대 9 개 노드 클러스터를 지원합니다 바이너리 로그 이벤트 체크섬을 지원하지 않습니다

 

운하 계획에 근거

실시간 데이터베이스 동기화를 들어, 알리바바는 동기식 복제 분산 데이터베이스를 달성하기 위해 전문 오픈 소스 프로젝트, 수달을 만들었습니다, 핵심 아이디어는 증분 데이터 로깅 데이터베이스를 획득하여 준 실시간 동기식 복제로 아직도있다. 운하를 또 다른 오픈 소스 프로젝트에 따라 자체 수달 그래서,이 프로젝트는 증가 데이터베이스 동기화 로그 정보를 획득에 초점을 맞추고 있습니다.

현재 초점은 MySQL의 동기식 복제, 두 개의 MySQL 데이터베이스 간의 양방향 동기화 데이터베이스 복제를 달성하기 위해 유사한 기본 기술, 즉 사용 사이의 데이터베이스 수달을 구현하는 것입니다. 이 자체 양방향 A-> B 일 수 있음을 의미한다는 점에 유의 일부 노드 자체는 단방향, B-> A로부터 일 수있다.

마스터 복사는 세 단계로 나누어 져 있습니다 :

의 마스터 레코드 바이너리 로그 (바이너리 로그)에 대한 변경 (이 기록을 바이너리 로그 이벤트, 바이너리 로그 이벤트, 쇼 바이너리 로그 이벤트를 볼 수 있습니다라고합니다)

그 릴레이 로그 (릴레이 로그)에 바이너리 로그 이벤트의 마스터 슬레이브 사본

슬레이브 릴레이 리두 로그 이벤트는, 자신의 데이터를 반영하기 위해 변경됩니다.

운하의 원리는 비교적 간단하다 :

운하 대화 형 시뮬레이션 MySQL의 슬레이브 프로토콜은 MySQL의 마스터 계약에 덤프를 보내, MySQL의 노예로 자신을 위장

MySQL의 마스터 덤프 요청 바이너리 로그 (즉, 채널) - 슬레이브 밀어부터 수신된다
(원래의 바이트 스트림) 채널 분석 바이너리 로그 개체

이상의 기준  https://github.com/alibaba/canal

개요

위는 동기식 복제 네 솔루션을 소개하는 이중 라이브 MySQL의 Xiaobian, 우리는 당신이 나에게 메시지를 적어주세요 질문이있는 경우, 도와주고 싶어, 샤오 총통은 즉시 모든 사람에게 응답 할 것이다. 이러한면에서 나는 또한 홈 사이트 스크립팅의 지원에 매우 감사드립니다!

추천

출처www.cnblogs.com/HKROnline-SyncNavigator/p/10971465.html