>  기사  >  데이터 베이스  >  mysql 라우터는 어떻습니까?

mysql 라우터는 어떻습니까?

(*-*)浩
(*-*)浩원래의
2019-05-25 16:17:272893검색

MySQL 라우터는 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.