golang mysql proxy_mixer: 一个用go实现的mysql proxy

Mixer是一个用Go编写的轻量级MySQL代理,支持基础的MySQL操作,如SELECT, INSERT, UPDATE等。它不支持所有MySQL命令,如存储过程和set variable,但计划逐步增加更多功能。Mixer提供读写分离和主备自动切换的高可用方案,目前仅支持一主一备。未来计划包括SQL解析、自定义路由和统计功能。项目开源在GitHub上,欢迎感兴趣的人参与贡献。" 106512617,9680872,使用jQuery制作H5滑动面板:仿百度地图APP,"['前端开发', 'JavaScript', 'jQuery', 'HTML5', '移动开发']
摘要由CSDN通过智能技术生成

介绍

mixer是一个用go实现的mysql proxy,支持基本的mysql代理功能。

mysql的中间件很多,对于市面上面现有的功能强大的proxy,我主要考察了如下几个:

mysql-proxy,mysql官方的代理,使用起来并不友好,需要进行lua定制,而且本人对其稳定性和性能存疑。

Cobar,阿里的东西,品质没的说,但对于我们项目,有点杀鸡用牛刀的感觉,另外我们都不会java。

Atlas,360出品的基于mysql-proxy的增强版,几乎用c重写了核心框架,性能和稳定性都没话说。

当然,还有很多强大的proxy,我不可能一一涉及,而现阶段我们项目中使用的是Atlas(这算不算给Atlas打了一个广告?)。

既然有这么多的proxy,为什么我还想自己实现一个呢?可能最主要的原因在于兴趣使然吧。

mysql功能支持

当开始着手进行mixer开发的时候,我就知道,mixer不是mysql,它不可能proxy所有mysql的功能。所以,我决定mixer只支持如下mysql命令:

COM_QUERY

select, insert, update, delete, replace

set autocommit

set names

begin, commit, rollback

COM_PING

COM_INIT_DB

COM_STMT_PREPARE, COM_STMT_EXEC等COM_STMT_*命令,仅

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值