MySQL代理的替代方案用于数据库分片

3
有没有MySQL Proxy的替代方案?我不想使用它,因为它仍处于alpha版本。
我将有10个MySQL服务器,分别有table_1,table_2,table_3,table_4 ... table_10表。每个表在结构上都是相同的,只是拥有不同的数据集,是分片的。
是否有MySQL Proxy的替代方案,可以让我的客户端应用程序连接到单个SQL服务器(代理),该代理查看查询并代表其获取数据。
例如,如果客户端从代理请求“SELECT * FROM table_5 WHERE user=123”,则代理连接到第5个SQL服务器以获取table_5中的数据?
2个回答

4

Spock代理支持对大型MySQL数据库进行基于范围的水平分区。代理拦截客户端的SQL查询,根据数据库的分区方式将查询发送到正确的数据库,然后聚合每个数据库的结果并将其作为常规的MySQL结果集返回给客户端。


0

我可以看出添加代理可能使您在应用程序中改变很少或根本不改变,但值得考虑的是,您正在添加一个巨大的单点故障。

我建议您将决定要查找哪个数据库所需的逻辑移动到应用程序层。


1
有多个应用程序组件访问数据库...这就是为什么我想将其移出应用程序层的原因。如果我需要更改分集器的配置,我需要更改几个应用程序,这似乎不现实。客户端应用程序-> HA代理(选择LB代理)-> LB代理(MySQL代理)-> SQL数据库 - The Unknown

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接