vlambda博客
学习文章列表

支持连接池和读写分离的轻量级中间件SMProxy

Swoole MySQL Proxy

一个基于 MySQL 协议,Swoole 开发的支持连接池和读写分离的轻量级MySQL数据库连接池中间件。

支持读写分离支持数据库连接池,能够有效解决 PHP 带来的数据库连接瓶颈支持 SQL92 标准采用协程调度支持多个数据库连接,多个数据库,多个用户,灵活搭配遵守 MySQL 原生协议,跨语言,跨平台的通用中间件代理支持 MySQL 事务支持 HandshakeV10 协议版本完美兼容 MySQL5.5 - 8.0兼容各大框架,无缝提升性能

安装

支持连接池和读写分离的轻量级中间件SMProxy

配置

配置文件位于 smproxy/conf 目录中,其中大写 ROOT 代表当前 SMProxy 根目录

database.json

支持连接池和读写分离的轻量级中间件SMProxy

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/