SMProxy 1.2.9 发布 ! 新增状态命令监控面板功能
Swoole MySQL Proxy
一个基于 MySQL 协议,Swoole 开发的MySQL数据库连接池。
原理
将数据库连接作为对象存储在内存中,当用户需要访问数据库时,首次会建立连接,后面并非建立一个新的连接,而是从连接池中取出一个已建立的空闲连接对象。
使用完毕后,用户也并非将连接关闭,而是将连接放回连接池中,以供下一个请求访问使用。而连接的建立、断开都由连接池自身来管理。
同时,还可以通过设置连接池的参数来控制连接池中的初始连接数、连接的上下限数以及每个连接的最大使用次数、最大空闲时间等等。
也可以通过其自身的管理机制来监视数据库连接的数量、使用情况等。超出最大连接数会采用协程挂起,等到有连接关闭再恢复协程继续操作。
特性
- 支持读写分离
- 支持数据库连接池,能够有效解决 PHP 带来的数据库连接瓶颈
- 支持 SQL92 标准
- 采用协程调度
- 支持多个数据库连接,多个数据库,多个用户,灵活搭配
- 遵守 MySQL 原生协议,跨语言,跨平台的通用中间件代理
- 支持 MySQL 事务
- 支持 HandshakeV10 协议版本
- 完美兼容 MySQL5.5 - 8.0
- 兼容各大框架,无缝提升性能
设计初衷
PHP 没有连接池,所以高并发时数据库会出现连接打满的情况,Mycat 等数据库中间件会出现部分 SQL 无法使用,例如不支持批量添加等,而且过于臃肿。
所以就自己编写了这个仅支持连接池和读写分离的轻量级中间件,使用 Swoole 协程调度 HandshakeV10 协议转发使程序更加稳定,不用像 Mycat 一样解析所有 SQL 包体,增加复杂度。
版本更新
-
新增
status
命令监控面板功能 - 修复日志目录创建失败的问题
- 修复PHP字符串索引取值版本兼容问题
开发与讨论
- QQ群:722124111
- 欢迎各类 Issue 和 Pull Request。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
刷了两个月面试经验,我终于...
终于也可以发自己的上岸面筋了。最近收获了很多,笔试题、剑指offer题,真·牛客的面经分享,所以按照老规矩,上岸分享下面试经历(以下按面试顺序)。 CVTE(一面) 自我介绍 单点登录 如果不用这个单点登录,怎么管理 session cookie 和 session 的区别 post 和 get 的区别 转发和重定向的区别 JVM 是怎么判断两个类相等 类加载器 类加载过程 讲一下索引 讲一下存储引擎 什么时候不走索引 给例子判断什么时候触发行级锁和表级锁 排序算法,如何考虑对公司员工年龄进行排序 平时怎么学习的 CVTE(二面) 自我介绍 介绍一个觉得出色的项目 项目难点 负载均衡的策略 双亲委派模型 集合类,HashMap 的底层结构,为什么使用红黑树 数据库,事务,隔离级别,存储引擎 JVM,,哪些对象需要回收,垃圾收集算法 你对我们部门的了解 CVTE(三面) 自我介绍 讲一下项目,难点 为什么用 redis,有什么优势 为什么用 Spring, SpringMVC 请求在服务器端的过程 controller 和 service 和 dao 怎么关联起来的 数据库的存储引擎应用...
- 下一篇
Windows+Apache+Python+Django 踩坑记录
Windows+Apache+Python+Django 踩坑记录摘要使用Python进行Web项目开发;相对于主流三大Web端解决方案(Java/.NET/PHP) Python在某些方面具有一定的优势,相对 Java/.NET 有更轻量级的部署方案,相对PHP有更安全开放的环境支持,这些不同点几乎完全取决于Python语言本身的特性。 0x01: 环境部署注:开发环境与运行环境的部署需要的基本技能 —— 理论基础知识扎实,了解相关基本原理,了解具体开发体系;如果不具备这些能力那么遇到问题就会很懵 0x11: Windows+Apache 部署1. Apache压缩包直接百度 "Apache" 就能找到官网下载了,飞机票>> Apache24 ;压缩包解压至安装目录,路径最好不要含有中文和空格(江湖规矩) 2. httpd.conf 配置文件(apachePath/conf/httpd.conf),Apache部署中最重要的部分,一般只用修改第一条 ServerRoot 就可以了,文档中 "#" 为行注释 ServerRoot 改为你的真实路径(一般在37行上下),Ex:...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8安装Docker,最新的服务器搭配容器使用
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS8编译安装MySQL8.0.19
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Hadoop3单机部署,实现最简伪集群
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS6,7,8上安装Nginx,支持https2.0的开启