小试支持分库分表的mysql proxy服务kingshard

这两天在调研评测Mysql Proxy服务,有360的atlas,阿里的cobar,tddl .  最让我感兴趣的还是陈非的kingshard,只因为他的分库分表最合理,有range和bash的方式。 kingshard代码比较的清晰,文档也相应的清晰,我们可以根据自己的需求扩展分库分表.  


该文章写的有些乱,欢迎来喷 ! 另外文章后续不断更新中,请到原文地址查看更新。

http://xiaorui.cc/2016/02/22/%E5%B0%8F%E8%AF%95%E6%94%AF%E6%8C%81%E5%88%86%E5%BA%93%E5%88%86%E8%A1%A8%E7%9A%84mysql-proxy%E6%9C%8D%E5%8A%A1kingshard/

kingshard我在centos,ubuntu都测试了一遍,最后在docker里面也搞了一下,正在测试dockerfile,等调试完毕会推送到github。 kingshard给我的感觉就是速度不错,配置文件简练。 

然后我们开始编辑kingshard的配置文件.

vim /etc/multi.yaml

最后启动kingshard, 之后我们就可以mysql -uroot -p -h -P9696通过kingshard连接mysql server了。 

启动正常无ERROR,kingshard对于启动失败的原因描述的很清晰.

kingshard的性能我没有具体去测试,打算下周一步步的替换线上的mysql proxy.    看kingshard github的描述,性能在1w+ qps左右. 

我们再来描述下kingshard的分表实现,题外化,360的altas刚出来那会,我就一直提交关于分表的issue,只是atlas一直没怎么关注过,或者他们内部早已经实现了分表的功能,只是没有对外开源而已。  这是人家自己的权力我没资格说啥。  后来atlas也出了分表的功能,但不是分布式的调度,只能是单库里面的分库分表。  还是那句话,对于真有相当需求的业务公司来说,花点时间扩展atlas的分表功能不是难问题。   淘宝的cobar是支持分布式的分表,但问题是他的性能是个问题,很是让我等屁民着急。tddl的依赖有些奇特,社区也不热,不推荐。

第一个分表模式是hash,可以指定hash的字段,上面是指定id为hash字段。 

第二个分表模式是range区间,他是根据row行数来分表的,kingshard模式还不能按照时间区分。 


对Golang感兴趣的朋友可以加群: 278517979 !!!
另外如果大家觉得文章对你有些作用! 如果想赏钱,可以用微信扫描下面的二维码, 感谢!
另外再次标注博客原地址  xiaorui.cc

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">