중국어 |
/$$$$$$ /$$ /$$ /$$$$$$$
/$$__ $$| $$$ /$$$| $$__ $$
| $$ __/| $$$$ /$$$$| $$ $$ /$$$$$$ /$$$$$$ /$$ /$$ /$$ /$$
| $$$$$$ | $$ $$/$$ $$| $$$$$$$//$$__ $$ /$$__ $$| $$ /$$/| $$ | $$
____ $$| $$ $$$| $$| $$____/| $$ __/| $$ $$ $$$$/ | $$ | $$
/$$ $$| $$ $ | $$| $$ | $$ | $$ | $$ >$$ $$ | $$ | $$
| $$$$$$/| $$ / | $$| $$ | $$ | $$$$$$/ /$$/ $$| $$$$$$$
______/ |__/ |__/|__/ |__/ ______/ |__/ __/ ____ $$
/$$ | $$
| $$$$$$/
______/
MySQL 프로토콜을 기반으로 Swoole에서 개발한 MySQL 데이터베이스 연결 풀입니다.
데이터베이스 연결을 메모리에 개체로 저장합니다. 사용자가 데이터베이스에 액세스해야 할 때 처음으로 연결이 설정됩니다. 새 연결을 설정하는 대신 설정된 유휴 연결 개체를 연결 풀에서 가져옵니다. 사용 후 사용자는 연결을 닫지 않고 다음 요청을 위해 연결을 다시 연결 풀에 넣습니다. 연결 설정 및 연결 해제는 연결 풀 자체에서 관리됩니다.
동시에 연결 매개변수를 설정하여 연결 풀의 초기 연결 수, 연결의 상한 및 하한, 각 연결의 최대 사용 횟수, 최대 유휴 시간 등을 제어할 수도 있습니다. 수영장. 또한 자체 관리 메커니즘을 통해 데이터베이스 연결 수, 사용량 등을 모니터링할 수 있습니다. 최대 연결 수를 초과하면 코루틴이 일시 중지되고, 작업을 계속하기 위해 연결이 닫힐 때까지 코루틴이 재개됩니다.
PHP에는 연결 풀이 없으므로 동시성이 높을 때 데이터베이스가 연결로 가득 차게 됩니다. Mycat과 같은 데이터베이스 미들웨어로 인해 일부 SQL을 사용할 수 없게 됩니다. 예를 들어 일괄 추가가 지원되지 않으며 너무 커집니다. 그래서 저는 연결 풀링과 읽기-쓰기 분리만 지원하는 이 경량 미들웨어를 직접 작성했습니다. HandshakeV10 프로토콜 전달을 예약하기 위해 Swoole 코루틴을 사용하면 프로그램이 더 안정적이게 되어 Mycat과 같은 모든 SQL 패키지 본문을 구문 분석할 필요가 없으므로 복잡성이 증가합니다.
여러분 덕분에 SMProxy가 여기까지 올 수 있었습니다.
[후원자가 되세요] 후원자 여러분 감사합니다!
후원자가 되어 이 프로젝트를 지원하세요. 귀하의 로고가 귀하의 웹사이트 링크와 함께 여기에 표시됩니다.