共计 1941 个字符,预计需要花费 5 分钟才能阅读完成。
MySQL 中间件是怎么样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
首先数据库技术发展的基础还是在业务推动的背景下,能够实现相关的技术保障。业务需求的提升必然会在数据量,访问量等方面有更高的要求,而映射到数据库层面就不是简单的扩容和添加资源了,我们有时候更需要弹性,需要快速实现,需要更高的性能。这些都是摆在我们面前的问题,而不仅仅是 DBA 团队。
所以早期的很多数据库,从一主一从,一主多从的架构,逐步演变到了读写分离,分库分表,然后就是分布式。而同时从很多层面来说,行业内的方案真是百花齐放,记得前几天还和同事聊,说如果对比一下 Oracle 和 MySQL, 让我怎么评价,我说单纯评估单机的性能和功能,MySQL 要落后很多,但是从成本,技术把控,定制层面来看,MySQL 的简单反而成了其中的一个优势,在这个基础上,它有非常多的开源方案,这些让原本 MySQL 的应用变得非常丰富起来,你说 MySQL 能不能做企业级方案,你看看 BAT 的使用场景,还是能够经受住考验的,注意我在此处说的的使用场景,没有一刀切的场景。
回到正题,MySQL 的中间件其实有很多,官方的开源的,我们就来简单来说说, 行业里还有很多的方案,有些还没有做调研,就没在文中及时推出来。
先来说说 MySQL 中间件能够做什么?要回答这个问题,我们可以反向问一个问题,随着业务需求的变化,数据库会有哪些瓶颈,比如:
1. 单台服务器无法承载已有的压力
2. 数据库单表容量越来越大
3. 大量的读写需求无法平衡
4. 资源如果扩容,应用改动较大
5. 资源的负载没法拆分,或者不易拆分
所以市面上的很多数据库中间件主要是分担了其中的大部分或者一部分的功能点。
沃趣科技的董红禹总结的这个图不错,我直接拿过来了。
我们基本会讨论下面的几个中间件,有些不在上面的图中,会额外补充一些。
MySQL Fabric, MySQL Router,MySQL Proxy
Fabric 能提供 MySQL 的 HA 和 Sharding 方案,MySQL Router 是一个轻量级的中间件用来实现高可用和扩展性的功能。MySQL Fabric 在驱动层面可以实现高可用和扩展功能,需要应用端来适配改造。而 MySQL Router 中间件的访问协议与 MySQL 一致,应用不需要做任何的修改,在 MySQL 官方近期推出的 InnoDB Cluster 中 MySQL Router 是作为“三驾马车”来使用的。而落寞的是 MySQL proxy, 目前已经无法下载了,自从推出以来主要就是测试版本,所以在很多功能上多多少少还是有些问题。
360 Atlas
这是国内 360 公司推出的一个中间件方案,github 地址为:https://github.com/Qihoo360/Atlas
从 github 的情况来看,星级蛮高,最新的维护是在 4 天前。它的设计是在 mysql-proxy 0.8.2 版本的基础上,对其进行了优化,增加了一些新的功能特性。
Mycat
这也是国内的一个中间件方案,业内比较火,官方链接是:http://www.mycat.io/
还有一本 Mycat 相关的书《分布式数据库架构及企业实践——基于 Mycat 中间件》
根据我的了解,他主要是支持 MySQL, 同时也支持其它的数据库,比如 Oracle 等等,也是一波好友一起来做得这个事情。
我比较喜欢它的一个原因是因为开源,而且源代码是 Java.
oneproxy
这是前支付宝的架构师楼总开发,目前支持多中数据库,基于 MySQL 官方 的 proxy 思想利用 c 进行开发的,OneProxy 是一款商业收费的中间件,专注在性能和稳定性上,是商业付费的。
DRDS
阿里分布式关系型数据库服务(Distribute Relational Database Service,简称 DRDS)是一种水平拆分、可平滑扩缩容、读写分离的在线分布式数据库服务。前身为淘宝 TDDL,再之前还有 Cobar,已经不维护了。
该图来自:http://blog.csdn.net/jerome_s/article/details/53966569
Vitess
谷歌开发的数据库中间件,集群基于 ZooKeeper 管理,通过 RPC 方式进行数据处理官方网站很简介:http://vitess.io/ 打开就是一个大 V
Maxscale
MaxScale 是 mariadb 研发的,目前版本不支持分库分表,在其它几个方面都很不错。github 链接为:https://github.com/mariadb-corporation/MaxScale
看完上述内容,你们掌握 MySQL 中间件是怎么样的的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注丸趣 TV 行业资讯频道,感谢各位的阅读!