如何选择 WebP Cloud 的区域?WebP Cloud Services 区域一览
许多人在使用 WebP Cloud 的时候会发现这里有多个区域可以选择,在选择上犯难。
本文将介绍 WebP Cloud Services 的区域信息,指导你如何选择适合自己的区域。
目前 WebP Cloud Services 下有三个服务:
其中前两者是免费的公共服务,由于我们的服务依托 Hetzner 构建,所以我们在 Hetzner 的支持范围内提供区域性支持,这三个服务背后的区域信息如下:
服务名称 | 美国 | 德国 | 新加坡 |
---|---|---|---|
WebP Cloud | ✔ | ✔ | |
Fly | ✔ | ||
Public Services | ✔ | ✔ | ✔ |
虽然 WebP Cloud Services 在使用 Cloudflare CDN,可以在全球范围内做到较低的连接延迟,但是我们依然需要注意 WebP Cloud 工作原理。
当用户发起请求的时候,请求会通过用户附近的 Cloudflare CDN 边缘节点访问到所选择的 WebP Cloud 区域上,此时如果 WebP Cloud 未缓存所请求的资源,便会通过 Cloudflare Workers 对请求的源站进行回源操作,拉取原始图片到本地进行优化,并最终输出优化后的图片。
举例来说,如果您的源站(例如 Cloudflare R2)区域在日本,并创建了一个位于德国的 WebP Cloud Proxy,此时一个美国用户请求图片的访问顺序会是:
美国用户 -> 美国 Cloudflare 边缘 -> 德国 WebP Cloud -> 日本的源站
可以看到在上面的路径中
- 「美国 Cloudflare 边缘 -> 德国 WebP Cloud」之间会有至少 150ms 的延迟
- 「德国 WebP Cloud -> 日本的源站」之间又有额外的 240ms 的延迟
这样的路径下用户的体验就会较差。
所以区域选择的原则需要尽量减少「大部分访客所在区域」到「WebP Cloud 区域」的延迟,并且减少「WebP Cloud 区域」到「源站」的延迟,其中前者更为重要,因为 WebP Cloud 会尽量缓存您的图片,所以除了初次请求以外后续请求就只有「访客」->「WebP Cloud」之间的延迟了。
例如,在上述例子中,如果将源站选择到美国,并且在美国区域创建 WebP Cloud Proxy,那么路线就成了这样:
美国用户 -> 美国 Cloudflare 边缘 -> 美国 WebP Cloud -> 美国的源站
用户体验便会好很多。
对于中国大陆的用户而言,由于 Cloudflare 在中国大陆没有边缘节点,截止本文写作时大部分的请求都会访问到 Cloudflare 美国的边缘,所以我们建议如果面向中国大陆用户的话,在美国区域创建 WebP Cloud Proxy 可以获得最好的访客体验。
一点剧透
从上述流程我们可以明白,由于地理位置限制,我们始终无法做到让全球的用户都获得一个较好的体验,例如 WebP Cloud Proxy 和源站都在德国,那一个美国用户访问的话始终额外的 300ms 的连接延迟在,这一点我们也很不喜欢。
所以我们内部在验证一个新的功能,称为「Multi-region cache replication」,等到这个功能上线的时候,用户将不再为选择区域犯难,届时 WebP Cloud 的 Proxy 将会额外提供一个「Global」的选项,在这个选项下,我们将在目前已经覆盖的两个州(美洲,欧洲)就近响应访客的请求,示意图如下:
目前这个功能我们在内部开发中,已经完成了基本的 PoC,上线进度会视用户量/我们的营收情况以及用户的反馈而定,目前初步计划在完成了基本的开发后优先提供给有需求的 Plus/Lite 使用,所以如果你也对这个功能感兴趣的话,欢迎来注册使用 WebP Cloud~
WebP Cloud Services 团队是一个来自上海和赫尔辛堡的三人小团队,由于我们不融资,且没有盈利压力 ,所以我们会坚持做我们认为正确的事情,力求在我们的资源和能力允许范围内尽量把事情做到最好, 同时也会在不影响对外提供的服务的情况下整更多的活,并在我们产品上实践各种新奇的东西。
如果你觉得我们的这个服务有意思或者对我们服务感兴趣,欢迎登录 WebP Cloud Dashboard 来体验,如果你好奇它还有哪些神奇的功能,可以来看看我们的文档 WebP Cloud Services Docs,希望大家玩的开心~
Discuss on Hacker News