【问题标题】:Create a CDN with Google Cloud and Image Optimization使用 Google Cloud 和图像优化创建 CDN
【发布时间】:2019-05-07 20:42:42
【问题描述】:

我有很多网站以及客户制作的网站,我想对其进行优化。我目前正在使用不同的 CDN 提供商,但我想简化我的工作流程并希望还能降低成本。

我想要一个带有 Pull Zone 的 CDN,该 CDN 还将优化图像(同时不修改其他静态资源)。

理想情况下,我还可以访问每个拉区的统计数据(因为我想向我的客户收取这项服务的费用,而不是猜测)。

使用 Google Cloud 执行此操作有哪些不同的方法?有没有办法只使用 Google Functions、CDN 和 Google Storage 来做到这一点?当然,我想也需要运行一个小的 NodeJS 应用程序来优化图像。我只是想知道一般架构以及它是否可能(我知道 Azure 和 AWS 是这样,但我已经在 Google Cloud 上运行了一些东西)。

非常感谢:)

【问题讨论】:

    标签: google-app-engine google-cloud-platform google-cloud-storage google-cloud-functions google-cdn


    【解决方案1】:

    在 GCP 中,可以通过将 HTTP(S) Load Balancer 关联到 Cloud Storage Bucket 并启用 Cloud CDN 来创建拉区。

    为每个客户使用不同的存储桶会分解您项目的日志,但不会分解它的计费。

    为了能够分开计费,您可以随时 export 将日志发送到 BigQuery,并使用它来根据每个客户的使用情况细分计费成本。


    关于图片的优化,Google CDN 不会做任何操作,GCS Bucket 也不会。

    在这个方向上唯一可用的操作是使用和服务GZip-compressed files

    我建议您专用一个 Instance 以便能够在存储之前准备图像或添加/替换存储桶中已有图像的优化版本。

    【讨论】:

    • 感谢您的回复。但是,它与使用 MaxCDN 或任何其他 CDN 服务相同。在这个流程中,我该如何优化图像?
    • 内容可以是gzip格式的服务器,甚至来自云CDN,请查看Transcoding of gzip-compressed files。 Cloud CDN 的行为类似于所有大型缓存提供程序,但我会阅读概念页面以获得更好的理解。
    • 实际上,我想更多的只是 gzipping。我正在考虑真正优化这些图像,缩小它们并通过优化器运行它们 (npmjs.com/package/sharp)。这就是我问这个问题的原因,因为我不知道如何整合这个过程。没有它,当然会容易得多:)
    • 不幸的是,不是。此设置旨在提供内容,任何准备文件的操作都应在添加到存储桶之前完成。此外,修改已经在存储桶中的文件将导致operation charges
    • 不幸的是,您的意思是不可能?我不介意运营费用,我只是想知道最好的方法,至少在架构上是这样。
    猜你喜欢
    • 2020-09-29
    • 2016-06-30
    • 2012-06-13
    • 1970-01-01
    • 2022-05-27
    • 2018-06-08
    • 2022-11-02
    • 2017-07-30
    • 2020-02-05
    相关资源
    最近更新 更多