我正在寻找一种解决方案来减轻今天(7.02.19)发生的云功能区域/区域中断的影响。
我立即想到了负载均衡器后端设置,其中有一个后端配置可以让我热插拔区域或地区。
我的具体用例确实不允许我快速http://us-east1-project-id.cloudfunctions.net/my-function
换成http://us-east4-project-id.cloudfunctions.net/my-function-2
我觉得在这种情况下使用 LB 可能不是一个好主意,但如果能有一个地方指向服务然后允许我交换后端(手动或自动)就好了。
我研究过使用 NGINX 来实现这一点的解决方案,但我觉得有一种方法可以做到这一点。
此外,我还阅读了一些关于 GCP 上的端点的信息......不过,完成这项工作并不一定很简单,因为看起来我还需要使用一些 Google App Engine 的功能。
答案1
鉴于这些函数将区域和项目编码到主机名中,我认为 DNS CNAME 在这里没有帮助。您可以运行一个代理,将请求重写到适当的区域和功能。
但是,您要在哪里托管这个与区域中的功能服务一样可靠和可扩展的服务?考虑到在区域中断后仍能生存的目标,理论上您可以在其他数据中心运行它,但这会造成延迟损失。
我的具体用例确实不允许我快速
http://us-east1-project-id.cloudfunctions.net/my-function
换成http://us-east4-project-id.cloudfunctions.net/my-function-2
重新考虑函数 URL 的构造方式。将区域项目和函数设为变量使得切换过程成为可能。我怀疑编写一个更大的应用程序来包装该函数的工作量是否更少。