如何使用 gce loadbalancer 进行 mysql 负载平衡

如何使用 gce loadbalancer 进行 mysql 负载平衡

我想使用 google 负载均衡器进行 mysql 负载平衡。首先也是最重要的是 google 文档,其中提到仅支持少数端口(下面提到的行)。所以我应该假设 GCE 负载均衡器不能在 mysql 实例之前使用。

TCP 代理支持以下端口:25、43、110、143、195、443、465、587、700、993、995

谢谢,Jag Nikam

答案1

您可以找到有关不同 GCE 负载均衡器的信息这里。您的 SQL 实例可以放在区域网络负载均衡器

答案2

Google 计算引擎TCP 代理在非常基础的层面上起作用:

通过对 TCP 流量进行 TCP 代理,您可以在全局负载平衡层终止客户的 TCP 会话,然后使用 TCP 或 SSL 将流量转发到您的虚拟机实例。

端口列表表明GCETCP 代理主要设计用于电子邮件负载平衡

  • 电子邮件(SMTP 25、提交465587、POP3110995、IMAP143993
  • WHOIS ( 43)、EPP ( 500) 和 DNSIX ( 195)
  • HTTPS(443,尽管HTTP(S) 负载平衡建议改为)

SQL 负载平衡更为复杂。请参阅SQL 负载平衡的挑战作者:Lori MacVittie。文章提到了 GCE TCP 负载平衡可能不支持(/不适用于)SQL 的两点原因:

如果您的应用程序使用存储过程,那么此方法将不适合您。值得注意的是,许多打包的企业应用程序依赖于存储过程,因此无法利用负载平衡作为扩展选项。- -

这还要求负载平衡服务解析 MySQL 或 T-SQL(Microsoft Transact 结构化查询语言)。当然,数据库是为解析这些基于字符串的命令而设计的,并且为此进行了优化。负载平衡服务通常不设计用于解析这些语言并且根据其底层解析功能的实现,实际上可能会产生严重的性能损失。

相关内容