mysql中间件有哪些?

mysql-proxy是官方提供的mysql中间件产品可以实现负载平衡,读写分离,failover等,但其不支持大数据量的分库分表且性能较差。下面介绍几款能代替其的mysql开源中间件产品,Atlas,cobar,tddl,让我们看看它们各自有些什么优点和新特性吧。AtlasAtlas是由 Qihoo 360, Web平台部基础架构团队开发维护的一个...
mysql中间件有哪些?
mysql-proxy是官方提供的mysql中间件产品可以实现负载平衡,读写分离,failover等,但其不支持大数据量的分库分表且性能较差。下面介绍几款能代替其的mysql开源中间件产品,Atlas,cobar,tddl,让我们看看它们各自有些什么优点和新特性吧。AtlasAtlas是由 Qihoo 360, Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目。它是在mysql-proxy 0.8.2版本的基础上,对其进行了优化,增加了一些新的功能特性。360内部使用Atlas运行的mysql业务,每天承载的读写请求数达几十亿条。Altas架构:Atlas是一个位于应用程序与MySQL之间,它实现了MySQL的客户端与服务端协议,作为服务端与应用程序通讯,同时作为客户端与MySQL通讯。它对应用程序屏蔽了DB的细节,同时为了降低MySQL负担,它还维护了连接池。以下是一个可以参考的整体架构,LVS前端做负载均衡,两个Altas做HA,防止单点故障。Altas的一些新特性:1.主库宕机不影响读主库宕机,Atlas自动将宕机的主库摘除,写操作会失败,读操作不受影响。从库宕机,Atlas自动将宕机的从库摘除,对应用没有影响。在mysql官方的proxy中主库宕机,从库亦不可用。2.通过管理接口,简化管理工作,DB的上下线对应用完全透明,同时可以手动上下线。3.自己实现读写分离(1)为了解决读写分离存在写完马上就想读而这时可能存在主从同步延迟的情况,Altas中可以在SQL语句前增加 /*master*/ 就可以将读请求强制发往主库。主库可设置多项,用逗号分隔,从库可设置多项和权重,达到负载均衡。4.自己实现分表(1)需带有分表字段。(2)支持SELECT、INSERT、UPDATE、DELETE、REPLACE语句。(3)支持多个子表查询结果的合并和排序。这里不得不吐槽Atlas的分表功能,不能实现分布式分表,所有的子表必须在同一台DB的同一个database里且所有的子表必须事先建好,Atlas没有自动建表的功能。5.之前官方主要功能逻辑由使用lua脚本编写,效率低,Atlas用C改写,QPS提高,latency降低。6.安全方面的提升(1)通过配置文件中的pwds参数进行连接Atlas的用户的权限控制。(2)通过client-ips参数对有权限连接Atlas的ip进行过滤。(3)日志中记录所有通过Altas处理的SQL语句,包括客户端IP、实际执行该语句的DB、执行成功与否、执行所耗费的时间 ,如下面例子。2022-12-11
mengvlog 阅读 8 次 更新于 2025-07-20 12:13:28 我来答关注问题0
  • 目前较为好用的MySQL分库分表中间件可以考虑TiDB。以下是关于TiDB的详细解答:运维成本:虽然使用中间件在一定程度上可以带来分库分表的好处,但同时也可能增加运维成本。中间件需要额外的配置和维护,且可能引入新的故障点。水平弹性扩容:TiDB 是一个分布式数据库,它支持水平弹性扩容。这意味着随着数据量...

  • 当前比较常用的MySQL数据库中间件主要包括ShardingJDBC和MyCat。ShardingJDBC:基于Smartclient模式,通过在应用程序中集成ShardingJDBC来实现数据分片与路由规则。它允许应用对接多个单体数据库,有效提升了系统的并发处理能力和存储扩展性。尽管对业务逻辑有一定的侵入性,但因其性能优化效果显著,得到了广泛应用。

  •  腾云新分享 mysql中间件有哪些

    一、MySQL代理中间件 这类中间件主要起到代理作用,帮助管理和优化MySQL数据库的连接和操作。常见的MySQL代理中间件有:ProxySQL:一个高可用的MySQL代理中间件,具备负载均衡、故障转移、缓存和查询分析等功能。可以扩展数据库服务器的性能并提供中央化的监控。HAProxy:虽然起初并非专为数据库设计,但其强大...

  •  湖北倍领科技 mysql中间件有哪些

    mysql-proxy作为官方提供的中间件,能够实现负载平衡、读写分离以及failover等功能,但它在处理大数据量时显得力不从心,尤其是在性能方面表现不佳。针对这类问题,市面上有几款优秀的开源中间件可供选择,比如Atlas、Cobar和TDDL。接下来,我们将逐一介绍这些产品的特点。首先,让我们聚焦于Atlas。Atlas是...

  •  文暄生活科普 现在能做分库分表的mysql数据库中间件哪个比较常用?

    Proxy模式 Proxy模式采用独立的中间件形式,管理数据与路由规则,与业务应用层及单体数据库相隔离,降低了对应用的直接影响。随着代理中间件技术的演进,其还具备部分分布式事务处理能力。MyCat即是此模式下的著名产品,具有显著优势。单元化架构 单元化架构是对业务应用系统的彻底重构,将应用系统拆分为多个...

檬味博客在线解答立即免费咨询

mySQL相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部