【问题标题】:DevOps: Combine AWS and GC into one websiteDevOps:将 AWS 和 GC 结合到一个网站中
【发布时间】:2018-05-11 10:35:04
【问题描述】:

目前,我们有一个较旧的网站,通过在 AWS 上托管该网站的合作伙伴运行。我们希望更好地控制 devops,并正在迁移到 Google Cloud。现在我们已经构建了一个在 Google Cloud 上运行的单页应用程序,而网站的其余部分仍在 AWS 上运行。现在我们坚持将两者结合起来。我们无法控制旧网站的开发,因为与我们合作的合作伙伴不灵活,只有他们可以控制。

我们希望将新的单页应用程序集成到旧网站中,以便两者在同一域下运行,并且所有页面都可以被搜索引擎抓取。这真的很重要。用户应该不会注意到我们的两个站点合并为一个。

想法 1: 我们的一个想法是在 NGINX 级别配置新的托管,以决定哪些 URL 应该转到哪个服务器(AWS 或 GC)。但是,我们认为可能会有一些优势。第一个是延迟,因为所有请求都必须首先通过 GC,然后大部分请求将重定向到 AWS 服务器或 CloudFront 缓存。其次,GC的输出流量会很大,成本会增加。

想法 2: 在应用程序级别 (PHP) 上配置我们的旧网站,以将一些 URL 重定向到新的单页应用程序。在这种情况下,延迟又是一个问题,因为网站必须将某些流量重定向到新的 GC 服务器。在这种情况下,PHP 框架已启动,因此这也增加了用户的等待时间。

想法 3: 旧的 PHP 网站应该加载新的单页 JS 应用程序,因此不会重定向用户。不确定这在技术上是否可行。

是否存在可以解决的方案,有什么缺点?如果我们将流量从 GC 重定向到 AWS,我们会期待什么额外的延迟?对此的任何反馈、提示或经验将不胜感激。

非常感谢!

【问题讨论】:

    标签: php amazon-web-services nginx google-cloud-platform devops


    【解决方案1】:

    对于想法 1 和想法 2 - 不违反旧页面和新 SPA 应在同一域中运行的条件?

    第二件事 - 据我所知,谷歌爬虫将不同的子域视为单独的页面(我不是 SEO 专家)但如果它仍然是真的,你的所有 SPA 代码必须由旧页面服务器提供(但是可能存在一些技巧来避免这种情况)

    也许想法 3 是最好的。像 apache/nginx(php 代码在哪里)这样的技术上流行的服务器可以轻松地提供 SPA 代码 - 只需将编译后的代码放在适当的公共目录中,并在旧的 PHP 应用程序中链接到这些资产。您还可以使用 GIT SUBMODULES 将您的 SPA 代码与您的旧应用程序仓库链接。

    【讨论】:

    • 如果您设置了负载均衡器(例如 nginx 或 gce 负载均衡器),您可以定义不同的路径重定向到不同的服务器,然后它们将从同一个域提供服务。
    • @rom 我没有使用负载平衡器的经验,但是在这种情况下它是非常有趣的信息。所以在这里我们可能可以设置像负载均衡器这样的东西,它将 SPA parh 重定向到 GC 和旧的 php 应用程序到 AWS ......(如果那个负载均衡器可以做这样的重定向)
    【解决方案2】:

    看似显而易见的解决方案是将域指向 CloudFront,让 CloudFront 进行基于路径的路由选择,以根据缓存行为路径模式从 CG 或 AWS 获取内容。毕竟,CloudFront 是一个全球分布的反向代理和缓存,并且不要求实际的源服务器位于 AWS 中。您需要为从 GC 到 CloudFront 的带宽付费,但仅针对缓存未命中付费。这与您的 #1 类似,但将代理置于更好的位置...... 100 多个不同的位置(CloudFront 边缘位置)。它应该没有负面的延迟影响,而且可能相反。

    【讨论】:

    • 我们正在研究这个解决方案,但无法找到如何添加一些逻辑来根据 URL 将流量重定向到不同的服务器。将不胜感激一些指针。谢谢。
    • 使用 CloudFront,您可以指定 origins(CloudFront 将向其发送请求的服务器的主机名)和 缓存行为,其中的每一个有一个 path pattern 用于它应该匹配的请求路径以及这些请求应该发送到的来源。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-07
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    • 2016-07-16
    • 1970-01-01
    • 2020-10-18
    相关资源
    最近更新 更多