首页 > Go, MySQL > Golang 实现的 mysql-proxy

Golang 实现的 mysql-proxy

Golang1.1昨天发布,性能提升不少。让我想起去年写的mysql-proxy,于是拿出来又改了一下调用最为频繁的一个函数,发现性能已经非常理想。这里放出来给有兴趣的朋友试用。
目前支持的功能是读写分离(非事务,如果用事务的话不会分发到slave上)和slave的负载均衡,未做失效检查。另外prepare可能会有问题。
如果有什么需求可以后续添加,golang改起来非常方便,当初这个proxy我也就1个礼拜完成的。

下载地址:http://www.mysqlab.net/products/mysql-proxy/lbproxy64.tar.gz (linux 64位)
(有需要win版本的可以密我)

配置:
1. 需要配置用于连接proxy的用户名和密码(sha1(plain password))
2. 需要配置连接后端master和slave的用户和密码(sha1(plain password))
3. slaves需要按照proxy.ini 格式写,因为解析ini文件的目前还没有容错
(本来是打算配置用web界面来做的,被其他事情给耽搁了)

启动:
目前启动方式很山寨
cd /path/to/proxy && ./proxy
(这个容易改,我已经有现成的python manager,套用过来就行)

大家有什么反馈可以q我或者这里留言(第一次需要审核,防止垃圾广告。)

Related posts:

  1. A new MySQL proxy written in Go — LegendBase Proxy for MySQL
  2. MySQL vs NoSQL 效率与成本之争
  3. 由CSDN泄密想到的:MySQL数据库验证过程的改进、密码存储及验证方法的总结
  4. MySQL5.5复制/同步的新特性及改进
  5. Go(golang) FastCGI Client
  6. MySQL 5.5 Released(非GA)
  7. daemon function for Go language(golang)(fixed for mac/darwin)
  8. MySQL driver(驱动) liblbmysql for Go1
分类: Go, MySQL 标签:
  1. 2013年5月20日15:26 | #1

    据说在64位下比较好用一些,不过现在大部分好像用32为的比较多

  2. 2013年5月22日14:37 | #2

    @翻译公司
    既然用到主从分离了,我相信应该用的是64位系统,如果是32位的话,升级64位 避免主从架构更合理。

  3. 2013年5月25日11:43 | #3

    能否把源代码分享一下

  4. 刀尖红叶
    2013年5月29日16:52 | #4

    需要像原先mysql-proxy需要lua脚本吗?
    考不考虑放到github上让更多人来用呢?

  5. 2013年6月3日13:15 | #5

    @刀尖红叶
    不需要lua脚本(这也是性能会比官方的proxy好的原因),直接配置ini就可以了,非常简单。

  6. 2013年6月3日13:18 | #6

    @noah_zh
    如果有什么需求可以提出来,我来实现。

  7. Ken
    2013年7月2日23:51 | #7

    放到github大家一起搞吧。

  8. maxid
    2014年1月3日11:26 | #8

    golang版支持多读多写,多网卡吗?如果是golang实现,开源可能会有更多参与者来贡献啊

  9. 2014年4月30日20:01 | #9

    @maxid
    只是个proxy,mysql本身具备的能力,它都具备。

  10. maxid
    2014年8月28日22:05 | #10

    有没有新版本啊?

  1. 本文目前尚无任何 trackbacks 和 pingbacks.