前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Mysql Proxy盘点

Mysql Proxy盘点

作者头像
心平气和
发布2020-09-11 11:23:39
1.7K0
发布2020-09-11 11:23:39
举报

这篇文章主要介绍互联网行业内Mysql相关中间件。

Mysql中间件主要解决以下问题:

  • 为海量数据提供高性能、高可用性的访问
  • 支持水平扩展

1、官方出品

1)、MySQL Fabric

MySQL Fabric具有分片功能,在同一个分片内又可以含有多个数据库,并且由Fabric自动挑选一个适合的作为主数据库,部署成本较高,另外需要应用端来适配改造。

2)、 MySQL Router

MySQL Router是一个介于应用层和DB层之间的开源的轻量级中间件,它能够将前端应用的请求分析转发给后端DB服务器处理,从而实现DB的负载均衡。

以下是官方的架构图

3)、MySQL Proxy

目前已经无法下载,推出以来就是测试版本,很多功能上还有问题

2、轻量级的

1)、360的Atlas

github地址:https://github.com/Qihoo360/Atlas

功能比较简单,2018年后就没人维护了,不过官方还是蛮热情的,年初反馈一个最大连接数设置的问题,很快就回复了,并且2周内就快发布了;不过最近反馈一个问题没有回应。

2)、美团的DBProxy

github地址:https://github.com/Meituan-Dianping/DBProxy

在360Altas基础上修改的,对运维更友好,并且更新了开发文档,包含代码级的说明,主要功能有:

  1. 读写分离
  2. 从库负载均衡
  3. IP过滤
  4. 分表
  5. DBA可平滑上下线DB
  6. 自动摘除宕机的DB
  7. 监控信息完备
  8. SQL过滤
  9. 从库流量配置

3)、OneProxy

数据库界大牛,前支付宝数据库团队领导楼方鑫开发,基于mysql官方 的proxy思想利用c进行开发的,OneProxy是一款商业收费的中间件。

3、主流Proxy

1)、Cobar

github地址:https://github.com/alibaba/cobar

start还是蛮高,近3K。

Cobar的分布式主要是通过将表放入不同的库来实现,cobar支持一张表水平拆分成多份分别放入不同的库来实现水平拆分,cobar也支持将不同的表放入不同的库。

Cobar还支持高可用方案,以下是官方介绍

从github上更新来看,17年以后也比较少了。

2)、MyCat

这也是国内的一个中间件方案,业内比较火,官方链接是:http://www.mycat.io/

github地址:https://github.com/MyCATApache/Mycat-Server

github上start 7K 多了。

功能比较齐全:

支持多种数据库:MySQL、Oracle、DB2、SQL Server、PostgreSQL等;

支持库内分表;

支持读、写分离及高可用;

3)、DRDS/TDD

Tabao根据自己的业务特点开发,主要解决了分库分表对应用的透明化以及异构数据库之间的数据复制,它是一个基于集中式配置的jdbc datasourcce实现,具有主备,读写分离,动态数据库配置等功能。

TDDL并非独立的中间件,只能算作中间层,是以Jar包方式提供给应用调用。

4、其它小众型的

1)、Vitess

谷歌开发的数据库中间件,集群基于 ZooKeeper 管理,通过 RPC 方式进行数据处理。

官方网站很简介:http://vitess.io/

2)、CDS

全称是Completed Database Sharding,京东开发的Mysql Proxy。

CDS是一款基于客户端开发的分库分表中间件产品,实现了JDBC标准API,支持分库分表,读写分离和数据运维等诸多功能;提供高性能,高并发和高可靠的海量数据路由存取服务,业务系统可近乎零成本进行介入,目前支持MySQL, Oracle和SQL Server。

3)、Heisenberg

改编自cobar,github上关注数也比较少。

4)、DDB

网易开发的,是国内最早出现的数据库分库分表中间件。

与SQL92标准的兼容度达90%以上;

支持读写分离和数据节点高可用;

支持数据节点在线扩缩容、在线更改表分布;

提供完善的数据库管理工具、Web和命令行工具;

数据节点支持Oracle和MySQL;

5)、Maxscale

MaxScale是mariadb研发的,目前版本不支持分库分表

6)、dble

爱可生的,官方网址:https://opensource.actionsky.com/

7)、Oceanus

58同城的数据库中间件,Oceanus致力于打造一个功能简单、可依赖、易于上手、易于扩展、易于集成的解决方案,甚至是平台化系统。拥抱开源,提供各类插件机制集成其他开源项目。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-11-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员升级之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
消息队列 TDMQ
消息队列 TDMQ (Tencent Distributed Message Queue)是腾讯基于 Apache Pulsar 自研的一个云原生消息中间件系列,其中包含兼容Pulsar、RabbitMQ、RocketMQ 等协议的消息队列子产品,得益于其底层计算与存储分离的架构,TDMQ 具备良好的弹性伸缩以及故障恢复能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档