如果我的服务器需要管理支付认证,CDN 有什么意义?

What's the point of CDN if my server need to manage payment authentications?

我正在开发一个项目,该项目的内容仅限于定期付款(订阅)和单一付款方式。

现在,我需要在全球范围内分发内容,但是,由于每个人都必须通过我的主要后端来检查支付验证以提供并允许预签名 URL,CDN 的意义就在于此有点脑子里的感觉。

我举个例子:

  1. 位于芝加哥(北美)的用户想要查看受限制的图像,因此请联系我位于巴黎(欧洲)的主要后端服务器。
  2. 后端服务器检查凭据,如果用户为内容付费,它会生成并return 重定向到给定的预签名 URL。
  3. 用户接受重定向,现在必须再次等待 AWS S3 服务器 return 受限图像。

如果在这最后一步中我可以使用 CloudFront 来“改进”图像重定向,它仍然需要很长时间才能完成这个周期,因为我的验证过程是在欧洲进行的。

有什么方法可以检查用户是否在北美付款? 我知道复制(意思是 PostgresSQL 副本和第二个后端服务器),但是,如果上传过程需要一个主数据库,在某个时候,请求将需要去欧洲才能得到满足。

我的应用程序是否需要检查用户所在的位置以访问最近的后端服务器,该服务器只能在阅读过程中运行?这意味着北美的另一台服务器。

有点糊涂,所以,欢迎各种观点。

你的问题标题和内容可以re-worked更突出

正如您自己所说,在第 3 点。CDN 完全符合其标称 use-case,从而使您的用户不必从很远的数据中心获取图像(将 object或更接近用户的静态内容 )

通过将 worker/application 代码放置在更靠近用户的位置并将数据库放置在靠近代码执行位置的位置,可以使用不同的技术来进一步减少用户的延迟。 CDN 不是实现这些技术的方法之一