支持连接池和读写分离的轻量级中间件SMProxy
Swoole MySQL Proxy
一个基于 MySQL 协议,Swoole 开发的支持连接池和读写分离的轻量级MySQL数据库连接池中间件。
•支持读写分离•支持数据库连接池,能够有效解决 PHP 带来的数据库连接瓶颈•支持 SQL92 标准•采用协程调度•支持多个数据库连接,多个数据库,多个用户,灵活搭配•遵守 MySQL 原生协议,跨语言,跨平台的通用中间件代理•支持 MySQL 事务•支持 HandshakeV10 协议版本•完美兼容 MySQL5.5 - 8.0•兼容各大框架,无缝提升性能
安装
配置
配置文件位于 smproxy/conf 目录中,其中大写 ROOT 代表当前 SMProxy 根目录
database.json
server.json
运行
需要给予 bin/SMProxy 执行权限。
start 运行服务
stop 停止服务
restart 重启服务
status 查询服务运行状态
reload 平滑重启
-h --help 帮助
-v --version 查看当前服务版本
-c --config 设置配置项目录
--console 前台运行(SMProxy>=1.2.5)
-f --force 强制执行(SMProxy>=1.3.0)
总结
1.SMProxy采用协程调度实现线程池,有效解决数据库瓶颈。如果只是读写分离,解决数据库连接瓶颈,用smproxy也足够了,入门快上手简单2.相比于mycat,SMProxy 更简单不会实现各种表的本片(分库分表)数据整合等功能,但我认为这种简单更纯粹,根据业务取舍即可
转自https://smproxy.louislivi.com/