본문은 클라우드 데이터베이스 MySQL 데이터베이스 프록시의 주의 사항을 소개합니다.
프록시 연결 주소를 사용할 때 트랜잭션 분할이 활성화되지 않은 경우, 트랜잭션 요청은 모두 주 인스턴스로 전송됩니다.
데이터베이스 프록시 구성은 가용 영역 간 지원을 제공합니다. 선택 가능한 가용 영역 수는 현재 리전의 선택 가능한 가용 영역 수에 따라 다르며, 최대 세 개의 가용 영역 선택이 가능합니다. 선택 가능한 가용 영역 수가 하나인 경우, 현재 리전에 선택 가능한 가용 영역이 하나뿐임을 나타냅니다.
여러 개의 데이터베이스 프록시 접속 주소를 생성할 수 있으며, 그 수는 데이터베이스 프록시 노드 수와 동일합니다. 즉, 노드 수만큼 데이터베이스 프록시 접속 주소 생성을 지원합니다.
프록시 연결 주소를 사용하여 읽기/쓰기 분리를 수행할 때, 비트랜잭션 읽기의 일관성을 보장하지 않습니다. 비즈니스에서 읽기 일관성이 필요한 경우 트랜잭션 내에 캡슐화하거나 Hint 구문을 사용할 수 있습니다.
프록시 연결 주소를 사용할 때, show processlist는 모든 노드의 결과를 병합하여 반환합니다.
prepare 문의 경우, 데이터베이스 프록시는 먼저 prepare를 모든 노드로 전송합니다. 후속 execute 요청이 도착하면 prepare의 문 유형에 따라 execute의 라우팅이 결정됩니다. 예를 들어 쓰기 문을 prepare한 경우 execute 시 마스터 인스턴스로 전송되며, 트랜잭션 외부의 읽기 문을 prepare한 경우 읽기 전용 인스턴스로 전송됩니다.
비즈니스 연결이 데이터베이스 프록시에 도달하면 프록시는 마스터 인스턴스와 구성된 모든 읽기 전용 인스턴스에 연결됩니다. 데이터베이스 프록시 자체에는 최대 연결 수 제한이 없으며, 연결 수 제한은 주로 백엔드 데이터베이스 인스턴스의 최대 연결 수에 의해 결정됩니다(마스터 인스턴스와 읽기 전용 인스턴스의 최대 연결 수 중 작은 값이 비즈니스 성능에 영향을 줄 수 있음).
데이터베이스 프록시를 활성화한 후 새 읽기 전용 인스턴스를 추가하거나 읽기 전용 인스턴스를 재시작할 경우, 새 연결 요청만이 새 읽기 전용 인스턴스 또는 재시작된 읽기 전용 인스턴스로 전송됩니다. 개요 또는 성능 모니터링을 통해 각 프록시 노드의 성능 지표를 확인할 수 있습니다. 각 프록시 노드의 연결 수 불균형 현상이 발견된 경우 재부하 분산을 통해 연결을 분산시킬 수 있습니다. 데이터베이스 프록시 기능별 지원 버전:
가용 영역 간 기능을 사용하려면 프록시 버전이 1.3.1 이상인지 확인하세요.
연결 유지 임계값 기능을 사용하려면 프록시 버전이 1.2.1 이상인지 확인하세요.
연결 풀 기능을 사용하려면 프록시 버전이 1.3.12 이상인지 확인하세요.
트랜잭션 분할 기능을 사용하려면 프록시 버전이 1.3.1 이상인지 확인하세요.
연결 주소 추가 기능을 사용하려면 프록시 버전이 1.3.1 이상인지 확인하세요.
읽기 전용 분석 엔진 관리를 사용하려면 프록시 버전이 1.3.15 이상인지 확인하세요.
JDBC driver의 mysql-connector-j-8.0.32.jar 버전으로 데이터베이스 프록시에 연결한 후 prepare를 사용할 경우 연결이 멈출 수 있습니다. 따라서 데이터베이스 프록시 연결 시 mysql-connector-j-8.0.32.jar 버전의 JDBC driver 사용을 권장하지 않으며, mysql-connector-j-8.0.33.jar 버전 사용을 권장합니다. 이는 MySQL의 공식 버그와 관련되어 있으며, 자세한 내용은 Bug#109864을 참조하세요.