ProxySQL

ProxySQL is High-performance MySQL proxy with a GPL license.

特性

  • Query caching

忘记那些无法有效地反复访问相同结果而产生负载的应用程序。ProxySQL很快就加入了它的高级规则引擎。结果也可以缓存为一个可配置的timespan,以原生MySQL数据包格式。

  • Query Routing

以一个高级示例为例,其中需要将不同的查询类路由到具有不同配置的不同MySQL集群。用ProxySQL的hostgroup概念解决这个问题。基于高级匹配引擎,它能够透明地将查询路由到能够最高效地执行查询的目标集群。

  • Supports failover

虽然ProxySQL没有提供支持故障转移的功能,但是它可以很好地与支持它的现有工具进行协作。它监视与它通信的后端的健康状况,并能够根据可配置的错误率暂时避开它们。

  • Advanced configuration with 0 downtime

ProxySQL配置系统的灵感来源于路由器。您可以动态地配置所有内容,持久化配置并修改它。所有与0停机时间。

  • Application layer proxy

ProxySQL不会盲目推进流量。它理解MySQL协议并采取相应的行动。这就是为什么它可以很容易地为高级用例提供服务,例如棘手的事务或关于工作负载的实时、深入的统计数据生成。

  • Cross platform

ProxySQL可以在多种版本的Linux和FreeBSD上开箱即用。此外,它应该可以很容易地移植到其他平台,在这些平台上可以使用与gcc兼容的工具链。

  • Advanced topology support

级联代理用于额外的可用性和灵活性。复杂的MySQL拓扑支持,包括复制和故障转移或查询镜像。所有这些都可以通过ProxySQL轻松完成。

  • Firewall

如果出现问题查询(例如,SQL注入或通过SELECT *进行低效的信息检索,而没有WHERE), ProxySQL充当应用程序和DB之间的网关守卫,允许dba快速响应。

参考文档

https://github.com/sysown/proxysql/wiki

  • 实战 TODO

https://blog.csdn.net/kai404/article/details/52664838