golang mysql pool proxy(MPP)

golang开发的一个mysql连接代理池, HTTP返回查询结果。

特性(迭代更新支持)
  • golang查询mysql, 支持连接池, HTTP返回数据,通过POST传递sql语句 (已实现)

  • 增加了postgre数据库的支持 (已实现)

  • 支持查询数据缓存 (已实现)

  • 支持多种语言(发送POST请求即可) (已实现)

  • 读写分离

  • SQL防注入

  • 支持HTTPS (已实现)

  • 考虑支持分布式HTTP server

  • 加入log文件支持 (已实现)

编译启动方式(linux), windows照样
cd project_pathgo buildmv golang_mysql_proxy_pool mpp./mpp

返回数据类似 {"code":0,"rows":"123@123.com","status":"success"} 的 json 格式

属性说明

code 0 is for success
     1 is for wrong query
     2 is for wrong get data
     3 is for wrong uukey 
status success or fail
rows query data

example/mpp_cls.php文件是PHP语言的客户端,有目前现有的所有功能的范例,请参考

联系详情可查看github

测试

WIN7, go version go1.4.2 windows/386, PHP 5.6, MYSQL5.6, 1万条mysql数据 example目录

没使用MPP的文件, php no_use_mpp.php -----Use time: 1.2660720348358-------
使用MPP的文件, php use_mpp.php -----Use time: 0.26302088737488-------