마스터 - 슬레이브 복제 클러스터
개념 : 주 데이터에서 복사 수단은 하나 개 이상의 노드에서 MySQL 데이터베이스 서버에 마스터 노드에서 복사 할 수 있습니다.
사용 시나리오 :
- 별도의 읽기 및 쓰기 : 사용 마스터 - 슬레이브 복제, 주요 도서관은 중앙 도서관 장면이 사업의 정상적인 작동을 보장 할 수있는 라이브러리에서 읽어 잠금 테이블 등장해도 있도록 책임 라이브러리에서 읽기, 쓰기에 대한 책임이 있도록.
- 실시간 데이터 백업 : 노드가 실패하면 시스템이 쉽게 장애 조치를 할 수있다.
- 고 가용성 고 가용성
- 확장 아키텍처 : 단일 시스템의 I / O 성능 I을 개선하기 위해, 하나의 디스크 I / O 액세스의 빈도를 줄이고, 데이터 스토리지 노드의 복수, 복수의 노드에서 부하 분산을 증가.
기본 폼에서 :
- 마스터 - 슬레이브
- 마스터 멀티 슬레이브 : 읽기 성능을 향상
- 스토리지 서버의 상대적으로 좋은 성능을 복수의 MySQL의 데이터베이스 백업 : 다중 마스터에서
- 듀얼 마스터 복제 : 복사 샷에서 상호 작용은, 각 서버는 마스터, 다른 서버에서 슬레이브 둘 다입니다. 양 당사자의 변경은, 상대방은 복제를 통해 데이터베이스에 적용됩니다.
- 계단식 복제 : 마스터 슬레이브 노드의 동기 데이터 부분은 접속되지 않고, 노드에 접속된다. 유일한 마스터 노드의 압력, 데이터 일관성에 부정적인 영향을 완화 할 수 없음.
마스터 - 슬레이브 원리를 복사
노드에서 실행하는 마스터 노드에서 실행되는 세 개의 스레드 (덤프 스레드를 기록), 나머지 두 (I / O 스레드, SQL 스레드)에서 마스터 사본에 관한 것이다.
마스터 노드는 마스터 노드를 연결하는 경우 콘텐츠 전송 함 로그 대 로그 덤프 스레드를 생성한다. 빈 로그의 읽기 동작에서 마스터 노드를 잠급니다이 스레드에서 빈-로그인합니다. 이벤트가 스레드를 읽고 완료되면, 잠금이 해제되고 이전 라이브러리에서 완전히 이벤트로 전송됩니다, 잠금도에 발표 될 예정이다.
노드에서 실행될 때 start slave
명령 후, 노드는 I / O 스레드가 마스터 노드는 마스터 라이브러리 빈 로그를 업데이트하라는 요청을 연결하기 위해 사용되는 생성한다. 갱신 후, I / O 실 마스터 노드가 로컬 중계 로그에 저장된 로그 덤프 프로세스를 전송 받는다.
SQL 스레드는 내용이 구체적인 행동과 실행에 해결 로그인 릴레이, 궁극적으로 마스터에서 데이터의 일관성을 보장 독서에 대한 책임이 있습니다.
각 마스터 - 슬레이브 연결의 경우, 완료하는 데 세 가지 프로세스를 필요로한다. 각 노드에서 바이너리 로그 덤프 프로세스에 마스터 노드에서 여러 노드의 마스터 노드가있을 때 현재의 연결을 구축하고, 각 노드에서 자신의 I / O 프로세스, SQL 프로세스를 가지고 있습니다.
하위 라이브러리 하위 테이블 전략
데이터 분할 방식
데이터 분할 규칙
데이터 분할 원리
하위 라이브러리 서브 테이블은 문제를 해결하기 위해
분산 트랜잭션 문제
분산 기본 키 ID 문제
데이터베이스 간 문제에 가입
데이터베이스 간 횟수에 의해 순서 문제로 그룹
Mycat 클러스터
아키텍처 소개
핵심 개념
10 일반적인 조각 규칙
https://blog.csdn.net/kingice1014/article/details/76136337