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