这两天在调研评测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模式还不能按照时间区分。 



对Python及运维开发感兴趣的朋友可以加QQ群 : 478476595 !!!

另外如果大家觉得文章对你有些作用!   帮忙点击广告. 一来能刺激我写博客的欲望,二来好维护云主机的费用.
如果想赏钱,可以用微信扫描下面的二维码. 另外再次标注博客原地址  xiaorui.cc  ……   感谢!

让人无语的MySQL嵌套事务

      MySQL是支持嵌套事务的,但是没多少人会这么干的…. 前段时间在国外看到一些老外在争论MySQL嵌套事务的场景必要性。 逗死我了,...

阅读全文

为什么不建议innodb使用亿级大表

上下文:        在Facebook上看到了一个比较新颖的mysql技术话题, 为什么不推荐在mysql下使用大表 , 或者说 什么情况下可以...

阅读全文

关于mysql分库分表及高可用集群经验 [下]

承接上个话题 … …   本想是切分成上中下章节的,但实在不想过于的拖拉,索性利索点的完成该话题。   mysql分库分表话题整理的有点乱...

阅读全文