我正在尝试在MySQL服务器前面实现一个代理层,它将捕获冗余的SQL查询并仅将它们发送到服务器一次。换句话说,我有许多客户端(在PHP,Perl,在不同的Web节点上)与MySQL通信,并且经常重复相同的SELECT
查询。当流量上升时,MySQL常常会出现故障。
问题是 - 您是否了解任何可以提供帮助的开源(或商业)工具?我试过MySQL Proxy,但看起来无能为力。
答案 0 :(得分:3)
两个建议:
答案 1 :(得分:0)
您可能需要查看HAProxy和how it works。
这里有两个额外的建议
建议#1设置群集
如果您的数据都是InnoDB,则应尝试使用Percona XtraDB Cluster并将HAProxy与其结合使用。您可以在群集中的所有服务器(包括Write Master)上进行负载均衡。
建议#2通过MySQL复制将群集设置到一个或多个数据库服务器
使用HAProxy对Read Slaves
中的读取进行负载均衡如果您的预算有限且数据相对较小,setup multiple MySQL Instances on one server