programing

MariaDB Galera 클러스터 php 드라이버

powerit 2023. 7. 27. 22:27
반응형

MariaDB Galera 클러스터 php 드라이버


다음과 같은 마스터 슬레이브 MariaDB Galera 클러스터를 설정합니다.
LAMP가 장착된 기계 3대와 그 앞에 로드 밸런서가 있습니다.
모든 기계는 사용자의 php 요청을 처리하기 위해 동일한 프런트 엔드를 가지고 있습니다.
모든 php 요청은 데이터베이스에서 쓰거나 읽습니다.
교착 상태를 방지하기 위해 단일 노드에서 쓰기를 수행하여 모든 노드에서 멀티 마스터 구성 및 읽기를 수행할 수 없습니다.
문제는 어떤 노드가 마스터인지 어떻게 알 수 있는지입니다. 클러스터를 종료할 때 부트스트랩하고 다른 노드는 마스터이기 때문에 여기에 연결하여 쓰기를 수행할 수 있습니다.
MongoDB 드라이버가 이 경우 모든 마법을 만드는 것으로 알고 있습니다. 연결할 때 모든 노드 주소를 알려주면 됩니다.PHP PDO에서도 이에 대한 정보를 찾을 수 없었기 때문에 MariaDB에서도 작동합니까?
HAProxy는 쓰기를 전송할 마스터가 누구인지 알고 이를 관리할 수 있지만 노드 중 하나에서 루프백되는 HAProxy로 SQL 요청을 전송하여 루프를 생성하고 싶지 않습니다.
이는 프런트 엔드가 백엔드와 분리된 3계층 구성을 사용하는 경우에도 문제가 발생합니다. HAProxy를 사용하지 않고 한 프론트 엔드에서 클러스터 마스터로 연결하는 방법입니다.
PHP 라이브러리 같은 것을 피할 수 있는 방법이 있습니까? 아니면 HAProxy와 같은 클러스터 관리자가 필요합니까?
참고: 처음에는 이 안내서를 사용하여 클러스터를 설정했습니다.

저는 Maria를 위해 만들어진 프록시인 MaxScale을 사용하는 것을 제안합니다.이러한 목적으로 만들어진 DB.

https://mariadb.com/products/technology/maxscale

왜 대리인을 피하려고 하는지 이해가 안 가요?

언급URL : https://stackoverflow.com/questions/45049528/mariadb-galera-cluster-php-driver

반응형