MySQL 라우터는 MySQL 프록시를 대체하는 데 사용됩니다. MySQL 라우터와 애플리케이션을 동일한 시스템에 배포하는 것이 좋습니다. 애플리케이션은 MySQL과 마찬가지로 MySQL 프록시에 액세스하고 MySQL 프록시는 데이터를 백엔드 MySQL로 전달합니다. 다양한 운영체제를 지원합니다.
작업 모드
read-write
는 다중 마스터 서버에 사용되며, 다중 마스터 서버에 사용하면 분할 브레인 문제를 피할 수 있습니다. 마스터 서버이지만 실제로는 다중 마스터 서버 중 하나만 활성 상태입니다. 더욱이 MySQL의 마스터-슬레이브 및 다중 마스터 복제는 복원이 번거롭고 수동 작업이 필요합니다. 이와 대조적으로 MySQL 그룹 복제는 더 간단한 클러스터 자동 유지 관리 솔루션을 제공합니다.
모든 요청은 첫 번째 서버로 전송되며, 다음 두 번째 서버는 첫 번째 서버가 다운된 후에만 사용됩니다.
다운된 서버의 복구 감지를 지원하지 않습니다
다음 두 가지 상황에서는 작동하지 않습니다
슬레이브가 먼저 충돌한 다음 복구하고 마스터가 다시 충돌합니다
마스터가 먼저 충돌한 다음 복구하고 슬레이브가 다시 충돌합니다
[routing:example_strategy] bind_port = 7001 destinations = master1.example.com,master2.example.com,master3.example.com mode = read-writ
읽기 전용
은 슬레이브 서버 클러스터를 라우팅하는 데 사용됩니다.
각 요청은 폴링 방식으로 모든 서버에 액세스합니다. 한 서버가 다운되면 다음 서버가 시도됩니다. 모든 서버가 다운되면 라우팅이 종료됩니다. 다시 사용할 수 있는 서버는 원래 순서대로 사용 가능한 목록에 다시 추가됩니다
[routing:ro_route] bind_port = 7002 destinations = slave1.example.com,slave2.example.com,slave3.example.com mode = read-only
Startup
mysqlrouter --config=/path/to/file/my_router.ini
데이터베이스 연결 풀의 maxStatements=0을 0으로 설정해야 합니다. 그렇지 않으면 호스트가 다운될 때 연결 풀을 대기 모드에서 사용할 수 없습니다. 해당 명령문이 머신에서 발견되어 오류가 보고되었습니다.
Performance
는 MySQL Proxy보다 훨씬 높으며, 직접 MySQL 연결에 비해 성능 손실이 매우 적습니다.
위 내용은 mysql 라우터는 어떻습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!