louislivi / SMProxy

Swoole MySQL Proxy 一个基于 MySQL 协议,Swoole 开发的MySQL数据库连接池。 A MySQL database connection pool based on MySQL protocol and Swoole.
https://smproxy.louislivi.com
MIT License
1.78k stars 258 forks source link

今天才看到完美兼容mysql4.1-5.7 #13

Closed gitzwt closed 5 years ago

gitzwt commented 5 years ago

我服务器使用的oneinstack安装的mysql8.0版本,是不是启用这连接池服务有效果?

gitzwt commented 5 years ago

现在的版本composer安装的类库好多啊,服务往框架发展了

louislivi commented 5 years ago

mysql8.0 暂不支持 @wi1dcard 类库确实太多了 composer install 半小时 刚才我看别人

louislivi commented 5 years ago

@wi1dcard 比别人框架都多 ,这样搞起太臃肿了

wi1dcard commented 5 years ago

@louislivi @gitzwt 只有开发才需要安装 dev 依赖,生产环境和本地测试,不需要编辑代码,直接带 --no-dev 参数;另外 Composer 安装半小时,肯定没科学上网也没设置国内镜像。

wi1dcard commented 5 years ago

无论如何也不会夸张到半小时,我 Laravel 装个依赖也基本五分钟的事儿。dev 依赖主要是为了统一代码风格,打包 PHAR 等操作。

wi1dcard commented 5 years ago

另外再就是,其实 .phar 的文件扩展名可以去掉也是可以正常运行的,如果看起来不好看也可以删掉。

louislivi commented 5 years ago

@wi1dcard 最好是默认不安装dev依赖,带参数安装

wi1dcard commented 5 years ago

@louislivi Composer 中国镜像挂了很久了,还是用 laravel-china 的镜像比较靠谱。

https://packagist.laravel-china.org/

另外建议 git 带上 composer.lock 以防出现各方安装的依赖小版本不统一,导致奇葩问题的情况。

wi1dcard commented 5 years ago

另外关于 --no-dev 的问题,我已经修改文档了,不过默认不安装... 这个得问 Composer 了

Ref: https://stackoverflow.com/questions/23851185/php-composer-no-dev-mode-that-sticks

wi1dcard commented 5 years ago

对了,还有另外一个问题。如果 composer.json 里带了 packagist 配置,强制使用国内镜像,那基本就告别「国外」 或「全局国外代理」用户了,如果不考虑给歪果仁使用的话,干脆英文文档也没必要了。

louislivi commented 5 years ago

packagist 已去掉,composer.lock 加入会有安装失败的情况,所有去掉 参考其他开源项目发现都未上传过composer.lock文件。

louislivi commented 5 years ago

composer.lock 删掉后travis-ci 跑不起来 = =! 我又给还回去了...

amuluowin commented 5 years ago

有几个建议: 1.client采用\Co\Client,根据消息swoole下个大版本计划移除异步API。 2.兼容docker,出个官方的docker镜像,可以采用docker的multi-stage build。基于容器的部署,可以直接sidecar进mysql容器。 3.连接数配置那里,生成dbconfig的时候,应该除以worker_num,这样配置的连接数才是实际数据库连接数。否则用户需要自己计算实际连接数,防止超出数据库配置。 4.worker_num配置建议支持function,例如一般连接数会设置为swoole_cpu_num(),或者swoole_cpu_num()*N这样。

amuluowin commented 5 years ago

还有,增加一个配置,在服务启动的时候可以选择自动连接满maxSpareConns或者设定值或者不自动连接。 默认自动满maxSpareConns。

wi1dcard commented 5 years ago

@louislivi Travis 跑不起来应该跟 composer.lock 无关,回头我看看日志。不带应该也没问题的。

louislivi commented 5 years ago

@amuluowin 提交一个新的issues 这些是后面需要实现或优化的 都说到点了👍🏻

louislivi commented 5 years ago

@wi1dcard 已经解决composer.lock 问题 原因是--no-dev 安装不会进post-install-cmd 以及box版本问题 3.3*不支持7.0 已解决

wi1dcard commented 5 years ago

@louislivi 好的,刚去读了下文档,发现有这么一句:

post-install-cmd: occurs after the install command has been executed with a lock file present.

看样子似乎的确是 lock 文件的问题,不是 --no-dev 的原因。